Как и методы, свойства определяются в интерфейсе без тела. Ниже приведен формат спецификации свойства.
// Интерфейсное свойство тип имя{
get;
set;
}
Свойства, предназначенные только для чтения или только для записи, содержат только get- или set-элемент, соответственно.
Рассмотрим еще одну версию интерфейса ISeries и класса ByTwos, в котором для получения следующего элемента ряда и его установки используется свойство.
// Использование свойства в интерфейсе.
using System;
public interface ISeries {// Интерфейсное свойство,
int next {
get; // Возвращает следующее число ряда,
set; // Устанавливает следующее число ряда.
}
}
// Реализация интерфейса ISeries, class ByTwos : ISeries f int val;
public ByTwos() { val = 0;
}
// Получаем или устанавливаем значение ряда,
public int next {
get {
val += 2;
return val;
}
set {
val = value;
}
}
//Демонстрируем использование интерфейсного свойства,
class SeriesDemo3 {
public static void Main() {
ByTwos ob - new ByTwos();
// Получаем доступ к ряду через свойство,
for(int i=0; i < 5; i++)
Console.WriteLine("Следующее значение равно " + ob.next);
Console.WriteLine("ХпКачинаем с числа 21");
ob.next = 21;
for(int i=0; i < 5; i++)
Console.WriteLine("Следующее значение равно " + ob.next);
}
}
Результаты выполнения этой программы таковы:
Следующее значение равно 2
Следующее значение равно 4
Следующее значение равно б
Следующее значение равно 8
Следующее значение равно 10
Начинаем с числа 21
Следующее значение равно 23
Следующее значение равно 25
Следующее значение равно 27
Следующее значение равно 29
Следующее значение равно 31