switch ステートメントを使用して、ジェネリックを含むものを作成するタイプを決定したいと考えています。
以下は、私がやろうとしていることを示すばかげた、しかし例示的なコードです。
Type tempType;
switch(number)
{
case 0:
tempType = typeof(int);
break;
case 1:
tempType = typeof(bool);
break;
case 2:
tempType = typeof(long);
break;
}
List<tempType> theList = new List<tempType>();
これを試すと、次のエラーが表示されます。
型または名前空間名 'tempType' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
理由についての私の推測は、そこでグローバルに利用可能な型を探しており、このメソッドのローカル メンバー変数を探していないためです。どうすればこのようなことができますか?
編集: もう少しコンテキストを提供するために、Quartz.NET を使用しようとしており、それを使用してさまざまなジョブを作成しようとしているため、この例の各タイプは異なるジョブ クラスであり、それぞれに固有の実行コマンドがあります。さまざまなケースは、その特定のジョブ クラスにアクセスしたい場合です。次に、次の方法でジョブを作成します。
tempJob = JobBuilder.Create<tempType>()
.WithIdentity("SomeJob " + i)
.UsingJobData()
.Build();