Что делает метод readonly для структуры?C#

Место общения программистов C#
Ответить
Anonymous
 Что делает метод readonly для структуры?

Сообщение Anonymous »

Visual Studio предлагает мне сделать методы структуры доступными только для чтения. Что это значит? Я думал, что только поля могут быть доступны только для чтения, а не методы.

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

public struct MyStruct {
...

// I have this
public void MyMethod() { ... }
// VS wants me to write this
public readonly void MyMethod() { ... }
}
Мне не удалось найти четкого описания методов, помеченных как только для чтения в MSDN, все дело в параметрах только для чтения или ref readonly для возвращаемых значений: Это явно не означает, что возвращаемое значение становится доступным только для чтения, потому что я возвращаю void. Мне кажется, что эффект заключается в том, что этот теперь доступен только для чтения, но мне также интересно, означает ли это, что теперь он такой же, как параметр in, такой как ExtMethod(это в MyStruct self), и в этом случае структура передается по ссылке.
В частности: Гарантирует ли метод структуры только для чтения, что this передается ссылка, или она все равно копируется целиком (поскольку это тип значения), как структуры обычно передаются методам?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -struct-do
Ответить

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

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

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

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

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