* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Свойства, доступные только для чтения или только для записи
8 февраля 2009
Иногда необходимо создать свойство, значение которого клиент получит, но не сможет модифицировать после того, как оно было установлено во время инициа- лизации класса. Еще реже требуются свойства, которые не доступны для чтения, но доступны для модификации. Такие свойства называют соответственно свойстиами, доступными только для чтения (read-only) и только для записи (write-only). Создание свойств, доступных только для чтения
Процедура создания подобных свойств мало отличается от таковой для обычных свойств. Чтобы создать на Visual C# свойство, доступное только для чтения, доста- точно определить свойство, у которого имеется метод Get, а метод ^отсутствует. Объявляя подобное свойство на Visual Basic .NET, необходимо пометить его клю- чевым словом ReadOnly, метод Set также следует опустить. В обоих языках закры- тую переменную, в которой хранится значение свойства, необходимо объявлять с ключевым словом ReadOnly (readonly). Вот пример свойства, доступного только для чтения: Visual Basic .NET Private ReaflOnly mint as Integer Public Readonly Property InstanceNumber() As Integer Get Return mint End Get End Property Visual C# private readonly int mint; public int InstanceNumber { get { return mint; } : Поскольку переменная, хранящая значение свойства, доступна только для чте- ния, ее нельзя модифицировать в коде. Начальное значение для такой переменной необходимо задавать в конструкторе класса. > Как создать свойство, доступное только для чтения 1. Объявите закрытую переменную, в которой будет храниться значение свойства, пометив ее ключевым словом ReadOnly (readonly). 1. Напишите реализацию свойства, предоставив только метод для получения зна- чения свойства, а устанавливающий его метод опустите. В Visual Basic .NET это свойство также необходимо пометить ключевым словом ReadOnly. 3. Добавьте к конструктору класса, членом которого является переменная свой- ства, код, присваивающий ей начальное значение. Свойства, доступные только для записи Можно создать свойство, значение которого клиент сумеет модифицировать, но не сможет прочитать, однако такие свойства требуются очень редко. Свойства, доступ- ные только для записи, применяются для локализации форм. Например, если за- дать другой регион, код свойства соответствующим образом изменит форму, а чи- тать эти свойства не обязательно. Свойства, доступные только для записи, создаются практически так же, как свойства, доступные только для чтения. Для хранения значения этого свойства так- же требуется объявить закрытую локальную переменную, но в этом случае следует реализовать только метол, устанавливающий значение свойства, а метод, получаю- щий его, опустить. В Visual Basic .NET подобное свойство необходимо пометить ключевым словом WriteOnly. *• Как создать свойство, доступное только для записи 1. Объявите закрытую переменную для хранения значения свойства. 2. Напишите реализацию свойства, предоставив только метод, устанавливающий значение свойства. В этот метод можно поместить любой код, который следует выполнить при изменении значения свойства. Кроме того, в Visual Basic .NET это свойство следует пометить ключевым словом WriteOnly,