MSDNのVS2010の名前付き引数とオプションの引数(C#プログラミングガイド)では、C#のオプションのパラメーターについて説明し、期待どおりのコードを示しています。
public void ExampleMethod(int required,
string optionalstr = "default string",
int optionalint = 10)
わかりました、しかしそれはまた言います:
.NETOptionalAttributeクラスを使用してオプションのパラメーターを宣言することもできます。OptionalAttributeパラメーターはデフォルト値を必要としません。
MSDNのOptionalAttributeページを読み、オンラインで検索を行いました(これは、OptionalAttributeパラメーターをC#で使用できないと主張する多くの人々を示しています-これらのコメントはC#4より前に作成されたと思いますか?)、答えが見つかりません2つの質問に:
OptionalAttributeを使用してC#パラメーターをオプションとして定義する場合:
- そのメソッドを呼び出し、そのパラメーターの値を指定しない場合、どの値が使用されますか?
- その値はコンパイル時または実行時に評価されますか?