Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>
今日、C#.NET4.5で美しいデリゲートに出くわしました。16は停止する任意の場所だと思いますが(16を超えるパラメーターを持つメソッドはどれですか?)、C#でジェネリック型が任意の数の型引数を持つことができると指定することは可能ですか?メソッドのparamsキーワードで、メソッドの引数をいくつでも使用できるのと同様の方法です。このようなもの:
public class MyInfiniteGenericType<params T[]> { ... }
クラス内では、型引数を列挙するか、メソッド内で許可T[index]
されるのと同じ方法で使用することにより、型引数にアクセスparams
できます。
私はこれを個人的に使用したことはありませんが、Funcデリゲートはこれを使用するのに最適な場所です。16種類のFuncは必要ありません!
だから私の質問は、これはC#でどのようにでも行うことができますか?そうでない場合、これはばかげた考えですか?