这类似于C# - Multiple generic types in one list
但是,我想要一个泛型方法来接受所有实现相同接口的对象列表。
此代码给出了没有隐式引用转换的错误。
public interface ITest { }
public class InterfaceUser : ITest { }
public class TestClass
{
void genericMethod<T>(T myList) where T : List<ITest> { }
void testGeneric()
{
genericMethod(new List<InterfaceUser>());
}
}
可以这样做吗?
答案 0 :(得分:7)
将T
定义为ITest
并将List<T>
作为参数
public interface ITest { }
public class InterfaceUser : ITest { }
public class TestClass
{
void genericMethod<T>(List<T> myList) where T : ITest { }
void testGeneric()
{
this.genericMethod(new List<InterfaceUser>());
}
}