КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Операции с перечислениями
С переменными перечисляемого типа можно выполнять арифметические операции (+, -, ++, --), логические поразрядные операции (*, &, |, ~), сравнивать их с помощью операций отношения (<, <=, >, >=, ==,!=) и получать размер в байтах (sizeof). При использовании переменных перечисляемого типа в целочисленных выражениях и операциях присваивания требуется явное преобразование типа. Переменной перечисляемого типа можно присвоить любое значение, представимое с помощью базового типа, то есть не только одно из значении, входящих в тело перечисления. Присваиваемое значение становится новым элементом перечисления.
5)Делегаты. Передача делегатов в методы. Делегат — это вид класса, предназначенный для хранения ссылок на методы. Де легат, как и любой другой класс, можно передать в качестве параметра, а затем вызвать инкапсулированный в нем метод. Делегаты используются для поддержки событий, а также как самостоятельная конструкция языка. Описание делегата задает сигнатуру методов, которые могут быть вызваны с его помощью: [ атрибуты ] [ спецификаторы ] delegate тип имя_делегата ([ параметры ]) Спецификаторы делегата имеют тот же смысл, что и для класса, причем допускаются только спецификаторы new, public, protected, internal и private. Тип описывает возвращаемое значение методов, вызываемых с помощью делегата, а необязательными параметрами делегата являются параметры этих методов. Делегат может хранить ссылки на несколько методов и вызывать их поочереди естественно, что сигнатуры всех методов должны совпадать. Пример описания делегата: public delegate void D (int i); Объявление делегата можно размещать непосредственно в пространстве имен или внутри класса. Для того чтобы воспользоваться делегатом, необходимо создать его экземпляр и задать имена методов, на которые он будет ссылаться. При вызове экземпляра делегата вызываются все заданные в нем методы. Делегаты применяются в основном для следующих целей: • получения возможности определять вызываемый метод не при компиляции, а динамически во время выполнения программы; • обеспечения связи между объектами по типу «источник — наблюдатель»; • создания универсальных методов, в которые можно передавать другие методы; • поддержки механизма обратных вызовов. Использование делегата имеет тот же синтаксис, что и вызов метода. Если делегат хранит ссылки на несколько методов, они вызываются последовательно в том порядке, в котором были добавлены в делегат. Добавление метода в список выполняется либо с помощью метода Combine, унаследованного от класса System.Delegate, либо, с помощью перегруженной операции сложения.
Дата добавления: 2017-01-13; Просмотров: 274; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |