2011-07-12 90 views
4

這類似於C# - Multiple generic types in one list泛型方法,其中T是列表實現接口

不過,我想一個通用的方法來接受對象的列表,所有實現相同的接口。

此代碼給出了沒有隱式參考轉換的錯誤。

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>()); 
    } 
} 

可以這樣做嗎?

回答

7

定義TITest並採取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>()); 
    } 
}