Интерфейсные свойства

Как и методы, свойства определяются в интерфейсе без тела. Ниже приведен фор­мат спецификации свойства.

// Интерфейсное свойство тип имя{

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