3

実行時に設定されるカスタムタイプのリストを作成しようとしています。これはどのように可能ですか?

これが私のコードです:

Type customType = typeof(string); // or someOtherVariable.GetType();

List<customType> ls = new List<customType>(); // Error: The type or namespace name `customType' could not be found
4

2 に答える 2

7

リフレクトタイプの汎用リストをインスタンス化する場合は、リフレクションを使用してインスタンス化する必要があります。

var type = typeof(string);

var list = typeof(List<>);
var listOfType = list.MakeGenericType(type);

var instance = Activator.CreateInstance(listOfType);
于 2012-09-05T15:51:30.817 に答える
-1

これはできません。ジェネリックコレクションは、コンパイル時に強く型付けされます。新しいクラスを発行/コード生成し、必要に応じてその場でコンパイルすることもできますが、それは非常に異なる問題です。

于 2012-09-05T15:51:39.180 に答える