通用方法,其中T是实现接口的List

Sha*_*rly 5 c# generics

这类似于C# - 一个列表中的多个泛型类型

但是,我想要一个泛型方法来接受所有实现相同接口的对象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>());
    }
}
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?

Rem*_*oor 7

定义TITestList<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>());
    }
}
Run Code Online (Sandbox Code Playgroud)