Следующее число равно 2 Следующее число равно 4 Следующее число равно 6 Следующее число равно 8 Следующее число равно 10
Начать с числа 21 Следующее число равно 23 Следующее число равно 25
Следующее число равно 27 Следующее число равно 2 9 Следующее число равно 31
Интерфейсные индексаторы
В интерфейсе можно также указывать индексаторы. Ниже приведена общая форма объявления интерфейсного индексатора.
// Интерфейсный индексатор
}
Как и прежде, в объявлении интерфейсных индексаторов, доступных только для чтения или только для записи, должен присутствовать единственный аксессор: get или set соответственно.
Ниже в качестве примера приведен еще один вариант реализации интерфейса ISeries, в котором добавлен индексатор только для чтения, возвращающий
// Добавить индексатор в интерфейс, using System;
public interface ISeries {
// Интерфейсное свойство, int Next {
get; // возвратить следующее по порядку число set; // установить следующее число
}
// Интерфейсный индексатор, int this[int index] {
get; // возвратить указанное в ряду число
}
}
// Реализовать интерфейс ISeries, class ByTwos : ISeries { int val;
public ByTwos() {
val = 0;
}
// Получить или установить значение с помощью свойства, public int Next { get {
val += 2; return val;
set {
val = value;
}
}
val = 0;
for(int i=0; i < index; i++) val += 2; return val;
}
}
}
// Продемонстрировать применение интерфейсного индексатора, class SeriesDemo4 { 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);
Console.WriteLine('ХпСбросить в 0'); ob.Next = 0;
