Значение запутанного комментария выше «string.Empty» в источнике .NET/BCL?C#

Место общения программистов C#
Ответить
Anonymous
 Значение запутанного комментария выше «string.Empty» в источнике .NET/BCL?

Сообщение Anonymous »

Я пытаюсь понять, почему string.Empty доступен только для чтения, а не является константой. Я видел это сообщение, но не понимаю комментария Microsoft, написанного по этому поводу. Как написал Джон Скит в комментарии "Я не знаю - для меня это не имеет особого смысла, если честно..."

Выпуск Common Language Infrastructure 2.0 с общим исходным кодом. string.cs находится в sscli20\clr\src\bcl\system\string.cs

Код: Выделить всё

// The Empty constant holds the empty string value.
//We need to call the String constructor so that the compiler doesn't mark this as a literal.
//Marking this as a literal would mean that it doesn't show up as a field which we can access
//from native.
public static readonly String Empty = "";
Я не вижу здесь вызова конструктора String, более того, он помечен как буквальный - ""

Может кто-нибудь объяснить мне простым текстом, что означает комментарий и почему string.Empty доступен только для чтения, а не является константой?


Обновление:

Эрик Липперт прокомментировал уже удаленный ответ:< /p>


Я спросил об этом одного из старожилов C# за обедом, и он не вспомнил конкретно, почему было принято такое решение, но предположил, что так оно и есть. имело какое-то отношение к стажировке.


Подробнее здесь: https://stackoverflow.com/questions/848 ... bcl-source
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»