2011-07-12 19 views
4

これは、私は一般的な方法は、すべて同じインタフェースを実装するオブジェクトのリストを受け入れるようにしたい、しかし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>()); 
    } 
} 

これを行うことはできますか?

答えて

7

ITestとしてTを定義し、引数として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>()); 
    } 
} 
関連する問題