今日、私はコンストラクターでデフォルトのパラメーター値を作成していました。
public SomeClass (String something = String.Empty)
{
// ...
}
コンパイラが文句を言った。
「something」のデフォルトのパラメータ値は、コンパイル時定数でなければなりません。
StringクラスのEmptyはコンパイル時定数であるという印象を受けました。
.field public static initonly string Empty
コンパイル時定数の意味を誤解しているのでしょうか、それとも受け入れる必要があるのはもっと奇抜なことでしょうか。