Optional
とDefaultParameterValue
属性を使用していて、使用していない点に違いはありますか?"Optional、DefaultParameterValue"属性を使用するかどうかを指定します。
public void Test1([Optional, DefaultParameterValue("param1")] string p1, [Optional, DefaultParameterValue("param2")] string p2)
{
}
public void Test2(string p1= "param1", string p2= "param2")
{
}
両方の仕事:
Test1(p2: "aaa");
Test2(p2: "aaa");
良い質問は、それらの属性が存在することを知っていませんでした。 – HimBromBeere
ありますが、このようなコードを書くときは実際には遭遇することはまずありません。 C#バージョン4では[オプション]属性がハイジャックされ、より簡単なCOM相互運用コードの作成に役立ちました。引数は、それを見るためのデフォルトなしのオブジェクトでなければならないでしょう、そして、呼び出し側はType.Missingを渡します。提供された構文を使用して、砂糖はもちろん常に最高です。 –