2016-07-18 6 views
4

は、どのように私は私のユースケースでジェネリック定義と汎用引数からジェネリック型を取得するにはどうすればよいですか? C#ので

var genericDefinition = typeof(List); 
var genericArgument = typeof(string); 
// How can I get the Type instance representing List<string> from the 2 variables above? 

のような一般的な定義とジェネリック引数からジェネリック型を構築することができ、一般的な引数が動的に解決されます。これはC#で可能ですか?前もって感謝します。

答えて

4

typeof(List)のようなものはありません。しかし、typeof(List<>)は正常に動作し、オープンジェネリック型です。

var genericDefinition = typeof(List<>); 
var genericArgument = typeof(string); 
var concreteListType = genericDefinition.MakeGenericType(new[] {genericArgument}); 

、あなたはconcreteListTypeがであることを見つける必要があります。次に、あなただけの使用します。

関連する問題