これはC#では可能ではないと思いますが、一般的な引数のリストを反復する方法はありますか?このような何か:汎用引数を反復する
public class Test<T, T1, T2, T3, T4>
{
public void DoIt()
{
foreach (var TItem in [T, T1, T2, T3, T4])
{
var foo = SomeService.Get<TItem>();
/* or */
var bar = new List<TItem>();
}
}
}
答えはCLRの制限なしによるものではないかなり確信したが、これを達成するためにどのような方法がありますかどうかを確認したかったです。
this.GetType().GetGenericArguments()
...しかし、それは私が探しているものではありませんランタイムTypeオブジェクトのリストを生成する:私はあなたが行うことができます知っています。
なぜ?あなたは実際に何をしようとしていますか? – SimpleVar
http://stackoverflow.com/questions/41029481/c-sharp-fluent-api-with-dynamic-func-construction –
再使用可能なメソッドを作成して、クエリ結果を厳密に型指定されたオブジェクトにマテリアライズしようとすると、指定された数ジェネリック型は可変です。 –