Презентация СNet Attribute

Скачать презентацию  СNet Attribute Скачать презентацию СNet Attribute

snet_attribute.ppt

  • Размер: 311 Кб
  • Количество слайдов: 10

Описание презентации Презентация СNet Attribute по слайдам

NET. C #. 02 Атрибуты. Описание и использование NET. C #. 02 Атрибуты. Описание и использование

Атрибуты Компилятор создает атрибуты, когда вы объявляете экземпляры специальных классов, наследующих от System. Attribute 1. ОписанияАтрибуты Компилятор создает атрибуты, когда вы объявляете экземпляры специальных классов, наследующих от System. Attribute 1. Описания правил сериализации данных 2. Управления безопасностью на уровне сборки Атрибуты позволяют добавить к метаданным дополнительную информацию, которая затем может извлекаться при помощи механизма рефлексии. Атрибуты используются для: 3. Облегчения отладки кода 4. Управления поведением компонент 5. Управления видимостью элементов управления и классов при разработке форм пользовательского интерфейса 6. Комментирования кода 7. …

2011 © EPAM Systems, RD Dep. 3 Применение атрибутов 1. Определяется новый или используется существующий в2011 © EPAM Systems, RD Dep. 3 Применение атрибутов 1. Определяется новый или используется существующий в . Net Framework атрибут 2. Инициализируется конкретный экземпляр атрибута с помощью вызова конструктора атрибута 3. Атрибут помещается в метаданные при компиляции и становится доступен CLR 4. По соглашен и ю имена всех атр ибутов оканчиваются словом Attribute. System. Obsolete. Attribute. Большинство атрибутов применяется к классам, методам, полям и свойствам Глобальные атрибуты – воздействуют на всю сборку или модуль Применение атрибутов на уровне классов и методов:

2011 © EPAM Systems, RD Dep. 4 Применение атрибутов Атрибут System. Obsolete. Attribute, помечающий код как2011 © EPAM Systems, RD Dep. 4 Применение атрибутов Атрибут System. Obsolete. Attribute, помечающий код как устаревший. заставляет компилятор выдать переданную строку как предупреждение при компиляции помеченного кода. using System; public class Main. App { public static void Main() { //На этой строке компилятор выдаст предупреждение. int My. Int = Add(2, 2); } //Этот атрибут применяется только к методу Add. [Obsolete(«В следующей версии метод будет удален»)] public static int Add(int a, int b) { return (a + b); } } На уровне метода

2011 © EPAM Systems, RD Dep. 5 Применение атрибутов При компиляции кода строка Моя сборка помещается2011 © EPAM Systems, RD Dep. 5 Применение атрибутов При компиляции кода строка «Моя сборка» помещается в манифест сборки в секции метаданных. Этот атрибут можно увидеть с помощью дизассемблера MSIL (Ildasm. exe) или с помощью пользовательских средств. using System. Reflection; [assembly: Assembly. Name(«Моя сборка»)] На уровне сборок Для применения атрибута на уровне модуля используется ключевое слово Module.

2011 © EPAM Systems, RD Dep. 6 Пользовательск ие атрибуты Пользовательские атрибуты – классы, наследующие от2011 © EPAM Systems, RD Dep. 6 Пользовательск ие атрибуты Пользовательские атрибуты – классы, наследующие от System. Attribute [ Attribute. Usage(Attribute. Targets. All, Inherited = false, Allow. Multiple = true)] Об ъявление начинается с Attribute. Usage. Attribute Атр ибут может применяться ко всем элементам программы. Атр ибут не будет наследоваться классами наследниками Атр ибут может применяться к одному элементу многократно

2011 © EPAM Systems, RD Dep. 7 Пользовательск ие атрибуты // По умолчанию Inherited = true.2011 © EPAM Systems, RD Dep. 7 Пользовательск ие атрибуты // По умолчанию Inherited = true. public class My. Attribute : Attribute { } // Явно задается false. [Attribute. Usage(Inherited = false)] public class Your. Attribute : Attribute { } public class My. Class { [My. Attribute][Your. Attribute] public void My. Method() { //. . . } }

2011 © EPAM Systems, RD Dep. 8 Пользовательск ие атрибуты public class My. Class { //2011 © EPAM Systems, RD Dep. 8 Пользовательск ие атрибуты public class My. Class { // Ошибка — дублирование не разрешено. [My. Attribute, My. Attribute] public void My. Method() { //. . . } // Это допустимо. [Your. Attribute, Your. Attribute] public void Your. Method() { //. . . } }

2011 © EPAM Systems, RD Dep. 9 Типы данных, допустимые в атрибутах • Bool • Byte2011 © EPAM Systems, RD Dep. 9 Типы данных, допустимые в атрибутах • Bool • Byte • Char • Double • Float • Int • Long • Short • String • Object • System. Type • Открытые перечислимые типы, вложенные (если вложены) в открытые типы

Thanks for your attention Thanks for your attention