Почему я не могу использовать String.Empty в качестве значения параметра по умолчанию?

Сегодня я создавал значение параметра по умолчанию в конструкторе.

public SomeClass (String something = String.Empty)
{
   // ...
}

Компилятор пожаловался.

Значение параметра по умолчанию для "что-то" должно быть временем компиляции. постоянный.

У меня сложилось впечатление, что Empty в классе String является константой времени компиляции.

.field public static initonly string Empty

Я неправильно понимаю значение константы времени компиляции, или это просто еще одна странность, которую мне нужно принять?

9
задан Joshua Belden 30 May 2012 в 22:55
поделиться