Основы объектно-ориентированного программирования на языке C# book | Page 165
7.11 Комбiнований iнтерфейс
get
{
if (index > -1 && index < floor.Length)
return floor[index];
// код для отримання
елементу
else return "Wrong number of floor";
}
set
{
floor[index] = value;
// код для задання елементу
}
}
}
При реалiзацiı̈ iндексатора ми для його iменi використовували пре-
фiкс IfloorNumber . Використання iндексаторiв здiйснюється таким
самим чином як i ранiше, але додатково необхiдно було задати поси-
лання fN на iнтерфейс IfloorNumber
IfloorNumber fN = MyElevator as IfloorNumber;
i звертатись до поверхiв через це посилання:
fN[0] = "first";
fN[1] = "second";
fN[2] = "third";
Програма прийме такий вигляд:
using System;
namespace IndexerInterface
{
interface IfloorNumber
{
// iнтерфейс з iндексатором
string this[uint index]
{
get;
set;
}
uint Size
{
get;
}
}
class ElevatorWithIndexer : IfloorNumber
{
private string[] floor;
private uint AmmountOfFloor;
public ElevatorWithIndexer(uint Count)
{
// опис конструктора
floor = new string[Count];
AmmountOfFloor = Count;
}
uint IfloorNumber.Size
{
// отримання розмiру масиву
165