Looking for c# Keywords? Try Ask4Keywords

C# Language Свойства только для чтения


пример

декларация

Обычное недоразумение, особенно новички, имеет свойство только для чтения, которое имеет ключевое слово readonly . Это неверно, и на самом деле следующая ошибка времени компиляции :

public readonly string SomeProp { get; set; }

Свойство доступно только для чтения, когда у него есть только получатель.

public string SomeProp { get; }

Использование свойств только для чтения для создания неизменяемых классов

public Address
{
    public string ZipCode { get; }
    public string City { get; }
    public string StreetAddress { get; }

    public Address(
        string zipCode,
        string city,
        string streetAddress)
    {
        if (zipCode == null)
            throw new ArgumentNullException(nameof(zipCode));
        if (city == null)
            throw new ArgumentNullException(nameof(city));
        if (streetAddress == null)
            throw new ArgumentNullException(nameof(streetAddress));

        ZipCode = zipCode;
        City = city;
        StreetAddress = streetAddress;
    }
}