Поиск

Неизменяемые свойства

В нашем примере свойство Address.ZipCode считается доступным для чтения и записи, так как определены оба метода: установщик и получатель. Конечно, иногда может потребоваться лишить клиент возможности устанавливать значение данного поля. В этом случае вы можете сделать это поле неизменяемым, опустив метод-установщик. Чтобы проиллюстрировать неизменяемые свойства, предотвратим установку поля Address.city клиентом, оставив Address.ZipCode как единственную ветвь кода, задачей которого является изменение значение поля:

class Address {
protected string city;
public string City {
get
{
return city;
} }
protected string zipCode; public string ZipCode {
get
{
return zipCode;
}
set
{
// Сверить значение с базой данных.
zipCode = value;
// обновить город с помощью проверенного zipCode. } } }