2

同じ型の 0/1/Many パラメータを取ることができる C# API があります。paramsAPI を =対 で定義するより良い方法は何IEnumerable<T>ですか?

4

2 に答える 2

6

私はほとんどの場合params、そのような API に使用します。これにより、呼び出し元がコンテナーを手動で構築しなくても引数を渡すことができるためです。

これ:

SomeMethod(param1, param2, param3);

これを要求するよりもきれいです:

SomeMethod(new[] { param1, param2, param3 });

ただし、具体的に単一の一連のアイテムを操作している場合IEnumerable<T>は、より賢明です。同様に、5 つ以上のパラメーターが予想される場合は、列挙型の方が理にかなっています。

それは、実際に期待するパラメーターの数とともに、API の論理操作に帰着します。

于 2012-07-11T17:44:56.493 に答える
3

paramsパラメーターの数が少ないが定義されていない場合は、配列を使用します。

IEnumerableパラメータの数が多い場合、または顧客や注文のように同じオブジェクトのセットである場合に を使用します。

于 2012-07-11T17:45:51.320 に答える