1..N ジェネリック型パラメーターを取る一連のメソッドを作成する必要があります。たとえば、次のようになります。
int Foo<T1>();
int Foo<T1,T2>();
int Foo<T1,T2,T3>();
...
int Foo<T1,T2,T3...TN>();
内部Foo()
では、タイプごとに何かをしたいと思います。
int Foo<T1,T2,T3>() {
this.data = new byte[3]; // allocate 1 array slot per type
}
のすべてのバリエーションを編集しないように、これをパラメータ化する方法はありますかFoo()
?
int Foo<T1,T2,T3>() {
this.data = new byte[_NUMBER_OF_GENERIC_PARAMETERS];
}
理想的には、型の配列またはコレクションも取得できるようにしたいと考えています。
int Foo<T1,T2,T3>() {
this.data = new byte[_NUMBER_OF_GENERIC_PARAMETERS];
// can do this
Type [] types = new Type[] { T1, T2, T3 };
// but would rather do this
Type [] types = _ARRAY_OR_COLLECTION_OF_THE_GENERIC_PARAMETERS;
}