Основы объектно-ориентированного программирования на языке 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