Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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; Нарушение авторских прав |