是否可以在具有特定类型的通用列表上创建扩展方法,例如
List<MyClass> myList = new List<MyClass>();
myList<MyClass>.MyExtensionMethod();
重要的是,MyExtensionMethod仅适用于MyClass类型的列表。
我怀疑这是不可能的,那么有什么选择来实现这个目标?
答案 0 :(得分:16)
当然是:
public static void MyExtensionMethod(this List<MyClass> m)
myList<MyClass>
并不清楚您的意思,但此方法适用于List<MyClass>
的所有实例
答案 1 :(得分:2)
试试这个:
public static class ListExtensions
{
public static void ExtensionMethodName<T>(this List<T> list) where T : MyClass
{
//Code
}
// Or
public static void ExtensionMethodName(this List<MyClass> list)
{
//Code
}
}