非generics类中的generics方法?

我确定我以前做过这个,但找不到任何例子! 哎呀…

例如,我想将IList转换为BindingList

 public class ListHelper { public static BindingList ToBindingList(IList data) { BindingList output = new BindingList(); foreach (T item in data) output.Add(item); return output; } } 

 ToBindingList  (...) 

 public class ListHelper { public static BindingList ToBindingList(IList data) { BindingList output = new BindingList(); foreach (T item in data) { output.Add(item); } return output; } } 

这不会更简单吗?

 public static class Extensions { public static BindingList ToBindingList(this IList list) { return new BindingList(list); } } 

这很简单,我们不需要扩展方法……

我错过了什么吗?

你可以通过扩展方法来做到这一点,它会更好。

 public static class Extensions { public static BindingList ToBindingList(this IList list) { BindingList bindingList = new BindingList(); foreach (var item in list) { bindingList.Add(item); } return bindingList; } }