単純。私が使用する場合:
public void Add(params int[] values)
次に、これを次のように使用できます。
Add(1, 2, 3, 4);
しかし今、私はキーと値のペアを扱っています!整数を文字列値にリンクするKeyValueクラスがあります。だから私は始めます:
public void Add(params KeyValue[] values)
しかし、私はこれを使用することはできません:
Add(1, "A", 2, "B", 3, "C", 4, "D");
代わりに、私は使用することを余儀なくされています:
Add(new KeyValue(1, "A"), new KeyValue(2, "B"), new KeyValue(3, "C"), new KeyValue(4, "D"));
Ewww...もう嫌いです...
そのため、現在、params修飾子を指定せずにAdd関数を使用し、事前定義された配列をこの関数に渡すだけです。これはテストの迅速な初期化に使用されるだけなので、コードを読みやすくしたいのですが、この追加のコードが必要になることについてはそれほど問題にはなりません。使用できないメソッドを使用するためのトリックを知りたいのですが、「new KeyValue()」構造を使用せずにこれを行う方法はありますか?