Код: Выделить всё
public class MyClass
{
public readonly List Value { get; } = []; // Error: Property cannot be 'readonly'
}
public record MyRecord
{
public readonly string Name { get; init; } // Error: Property cannot be 'readonly'
}
public struct MyStruct
{
public readonly string Name { get; init; } // OK
}
Есть другие сообщения, отвечающие, почему чтение является «Разрешен со свойствами (в классах и записях), но я хотел бы знать, почему это разрешено с структурой. Имеет ли это какое -то отношение к типам значений? О влиянии методов чтения структуры. Похоже, что он не напрямую объясняет обоснование наличия свойств чтения. Я не уверен, является ли это единственной разницей, и вопрос о том, почему это не может быть применено к классам и записям остается (так как полевое поле readonly Back может быть сделано вручную в классах).
Подробнее здесь: https://stackoverflow.com/questions/793 ... in-structs
Мобильная версия