0

実行時に型を作成する必要があります。List<T>リスト内の単一項目の型を表す文字列 ( T) と、オブジェクトの配列があります。私の質問は次のとおりList<T>です。

私は自分自身を説明したいと思います:)

ありがとう

4

2 に答える 2

1

まず、本当にこの方法でやりたいですか?設計ミスの匂いがします。

これを行う方法の例を次に示します。

var stringType = Type.GetType("System.String");
var listType = typeof (List<>);
var stringListType = listType.MakeGenericType(stringType);
var list = Activator.CreateInstance(stringListType) as IList;

list.Add("Foo");
list.Add("Bar");
list.Add("Baz");
于 2012-06-08T09:28:23.853 に答える
1

次のようなものを使用できます。

Type itemType = Type.GetType("my type name as string");
Type listType = typeof(List<>).MakeGenericType(itemType);
return (IList) Activator.CreateInstance(listType);
于 2012-06-08T09:26:07.597 に答える