2012-02-10 7 views
2

のは、私は次のクラス定義があるとしましょう:C#の反射活性化剤は、一般的なパラメータを使用してインスタンスを作成します

List<SomeClass>... 
public class SomeClass 
{ 
    int Id {get; set;} 
} 

と私のプロジェクト内の別の場所で、私は何とかそれを分解したい、このタイプのリストを取得し、whjich手段この場合、一般的な渡されたパラメータのインスタンスを作成する(工ass)

public T Decompose (object toDecompose) 
{ 
    if (toDecompose.GetType().IsGenericType()) 
    { 
    Types[] genericParams= toDecompose.GetType().GetGenericParameters(); 
     something similar to ...return Activator.CreateInstance<genericParams[0]>; -- which does not compile 
    } 
} 

そう返されたオブジェクトは工assのインスタンスでなければならない..

答えて

3
Activator.CreateInstance(genericParams[0]); 
+0

だから私は本当に近くにあった:)ありがとう – Elena

関連する問題