シンプル。私が使用している場合:キーと値のペアをパラメータとして使用する
public void Add(params int[] values)
それから私は、としてこれを使用することができます。
Add(1, 2, 3, 4);
しかし、今、私は、キーと値のペアを扱っています!私は文字列値に整数をリンクするKeyValueクラスを持っています。だから私はで始まる:
public void Add(params KeyValue[] values)
しかし、私はこれを使用することはできません。
Add(new KeyValue(1, "A"), new KeyValue(2, "B"), new KeyValue(3, "C"), new KeyValue(4, "D"));
Ewwwが...すでに私が嫌い:代わりに
Add(1, "A", 2, "B", 3, "C", 4, "D");
を、私が使用するように強制していますthis ...
今、私はparams修飾子なしでAdd関数を使い、あらかじめ定義された配列をこの関数に渡します。テストのための迅速な初期化に使用されているだけなので、コードをシンプルにしておきたいのですが、私はこの追加のコードを必要とすることにあまり心配していません。私は使用できないメソッドを使用するトリックを知りたいですが、 "新しいKeyValue()"構造を使用せずにこれを行う方法はありますか?
「KeyValuePair」は既にありますか? –
ええ、私は知っています。 :-)それは私が使用しているタイプです... –