2016-04-18 4 views
0

ユーザーがクラス名を選択してボタンをクリックすると、新しいList<SelectedClass>が作成されるような機能を実行したいと考えています。現在、私はswitch文を以下のように使用しています:リスト<class>をクラス名で作成できますか?

switch(Name) 
case"a" : List<a> X=new List<a>(); 
case"b" : List<b> X=new List<b>(); 

もう1つの方法がありますか?

+1

あなたのコードは、あなたがやりたいことではないでしょうか?あなたはどんな問題に遭遇しましたか? – BugFinder

+0

私はデータベース内の検索テーブルを検索したい、それは検索するテーブルを選択することができます。私はリストを作成する必要があるときに、各テーブルviewmodelを持ってviewmodelを作成する

答えて

2

は(あなたが任意のswitch文は必要ありません)Activator.CreateInstanceでそれを試してみてください。

Type type = Type.GetType(Name); // Example: Type.GetType("NamespaceName.ClassName") 
Type listType = typeof(List<>); 
var listWithType = listType.MakeGenericType(new [] { type }); 
var instanceOfList = Activator.CreateInstance(listWithType); 
+0

私はそれを試してみます。 –

+0

私は理由を見つける、アセンブリ名を追加する必要がありますType.GetType( "NamespaceName.ClassName、NamespaceName") –

関連する問題