c# – 如何制作采用泛型类型的泛型方法
发布时间:2020-12-15 08:39:39 所属栏目:百科 来源:网络整理
导读:我想写下面的方法 private void FooT,TItem(TTItem param1) 其中T必须是以TItem作为其通用信息的泛型类型. 调用示例如下: private void Main(){ Listint ints = new Listint(); FooList,int(ints); } 编辑: 就我而言,我只需要收藏. 实际的用例是我想编写一
我想写下面的方法
private void Foo<T,TItem>(T<TItem> param1) 其中T必须是以TItem作为其通用信息的泛型类型. 调用示例如下: private void Main() { List<int> ints = new List<int>(); Foo<List,int>(ints); } 编辑: 我无法将方法更改为: private Foo<T>(ICollection<T>) 因为我失去了信息实际列表的类型,这对我来说比列表中的项目类型更重要. 所以上述想法诞生了,但没有奏效. 解决方法
由于您只需要集合,您可以描述这样的方法:
private void Foo<T,TItem>(T param1) where T: ICollection<TItem> { } 但是在这种情况下,您需要提供特定的泛型类型(List< int>)作为第一个通用参数,您不能只使用List: List<int> ints = new List<int>(); Foo<List<int>,int>(ints); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |