Что делает метод 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

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