Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Интерфейсные индексаторы





// Интерфейсный индексатор

тип_элементаthis[int индекс]

{

get;

set;

}

Как и прежде, в объявлении интерфейсных индексаторов, доступных только для чтения или только для записи, должен присутствовать единственный аксессор: get или set соответственно.

Ниже в качестве примера приведен еще один вариант реализации интерфейса ISeries, в котором добавлен индексатор только для чтения, возвращающий i-й элемент числового ряда

// Добавить индексатор в интерфейс.

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;

}

}

// Получить значение по индексу

public int this[int index]

{

get

{

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("\nНачать с числа 21");

ob.Next = 21;

for (int i = 0; i < 5; i++)

Console.WriteLine("Следующее число равно " + ob.Next);

Console.WriteLine("\nСбросить в 0");

ob.Next = 0;

// Получить доступ к последовательному ряду чисел с помощью индексатора

for (int i = 0; i < 5; i++)

Console.WriteLine("Следующее число равно " + ob[i]);

}

}







Date: 2015-09-02; view: 416; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию