Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
4 / 4 / 0
Регистрация: 28.05.2011
Сообщений: 84
1

Зачем нужны кастомные атрибуты в сборках

25.06.2012, 23:13. Показов 3050. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В проекте используются подключаемые DLL. использую рефлексию и позднее связывание.
Изначально думал, что атрибуты позволяют получить инфу например о назначении сборки без
поиска в ней всех типов, создания их экземпляра и прочего огорода. оказалось нет.
что мешает мне просто реализовать в сборке метод getInfo который и будет сообщать мне нужную информацию о сборке, причем без всех этих усложнений с созданием атрибутов?

возможно, я просто неверно понял назначение сабжа и в моем случае он не нужен. кто в теме поясните плиз.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2012, 23:13
Ответы с готовыми решениями:

Что такое атрибуты и зачем они нужны?
Нужен человек, который может объяснить, что такое атрибуты и зачем они нужны, на как можно более...

Что такое атрибуты и зачем они? Для чего нужны директивы препроцессора?
Короче,товарищи,задаю вопрос не первый раз,поэтому,если уже отвечали,то прошу прощения,но я забыл...

Кастомные атрибуты валидации, делающие проверку при компиляции
Как пример, есть атрибут и он выполняет проверку во время компиляции. Вопрос в том, можно ли...

Что такое атрибуты (dir) и зачем они нужны ?
может быть кто нибутъ объяснит что такое атрибуты и зачем они нужны ? a=1 a Out: 1 dir(a)...

5
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
26.06.2012, 00:35 2
Аттрибуты нужны для создания самоописывающихся объектов. В шарпе аттрибут - это даже нечто большее чем просто метаданные.

Цитата Сообщение от coderisimo Посмотреть сообщение
что мешает мне просто реализовать в сборке метод getInfo который и будет сообщать мне нужную информацию о сборке, причем без всех этих усложнений с созданием атрибутов?
Отдельный метод не поможет вам в самоописании класса или иного объекта. По своей сути настраиваемый аттрибут это класс унаследованный от System.Attribute. В этот класс вы можете внести любую описательную информацию которая привяжется к объекту. И при помощи отражения можно обратится к конкретному аттрибуту, не дергая целый метод.
1
4 / 4 / 0
Регистрация: 28.05.2011
Сообщений: 84
27.06.2012, 19:30  [ТС] 3
ну с атрибутами тоже не все так просто. нужно создать свой класс, унаследовав его от System.Attribute. описать атрибут в сборке, которую будем подключать к приложению используя рефлексию. Далее в самом приложении нужно получить типы из сборки, создать экземпляр (инстанс) типа и только потом прочесть атрибут. Чем это проще создания в классе сборки полей с нужной инфой и получения их спец методом?

может быть (наверняка!)для других целей атрибуты мега кул, а для простого получения 3-4 строковых значений характеризующих конкретную сборку я преимуществ не вижу... и пока аргументов со стороны тоже ,

но спасибо, что изложили свое видение
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
28.06.2012, 18:33 4
Цитата Сообщение от coderisimo Посмотреть сообщение
Далее в самом приложении нужно получить типы из сборки, создать экземпляр (инстанс) типа и только потом прочесть атрибут.
Неа
Просто воспользуйтесь методом GetCustomAttributes для типа или сборки или ещё чего угодно. Создавать экземпляр типа вам не нужно (но если вы имеет ввиду экземпляр класса Type, то их можно получить с помощью GetType() или GetTypes(), что тоже просто)
0
4 / 4 / 0
Регистрация: 28.05.2011
Сообщений: 84
28.06.2012, 20:27  [ТС] 5
можете привести пример, где атрибуты читаются сразу из сборки? без промежуточных операций?
суть моего поста : для получения элементарных сведений (строк) из dll (которая привязывается к предложению при помощи позднего связывания) можно использовать реализованный в ней же метод. чем это дольше/сложнее/хуже GetCustomAttributes я не понимаю. Атрибуты требуют доп реализации, объем кода сопоставим или больше.
0
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
28.06.2012, 23:45 6
Атрибуты помогают классифицировать сборки, типы, методы и свойства по их назначению при позднем связывании, особенно, если это связывание с чужими сборками.

Тема легче изучается не в момент, когда возникает вопрос "зачем", а в момент, когда возникает вопрос "как" )

Добавлено через 4 минуты
Пример - толдько на словах.
Через Reflection перебираются все типы, смотрятся их атрибуты. На самом деле на практике проверяется наличие требуемых атрибутов, а вытаскивание всех атрибутов практически не знаю зачем делать.
0
28.06.2012, 23:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.06.2012, 23:45
Помогаю со студенческими работами здесь

Кастомные атрибуты валидации в ASP.NET MVC
Добрый день. Вот такой вопрос по пользовательским атрибутам валидации. Написан кастомный атрибут...

Что такое атрибуты? Зачем они? [STAthread] - атрибут?
Что такое атрибуты? Зачем они? - атрибут? А,вот ещё - partial class - что это? Разделяемые...

Нужны атрибуты bootfiles_x86, скиньте пожалуйста
Слетел загрузчик с вин 7, когда устанавливал убунти. Сижу с убунти и ищу bootfiles_x86, не как не...

Какие атрибуты вертексов нужны рендеру?
Здравствуйте Я знаю что модель имеет/хранит: позиции вертексов, их нормали, цвет и UV координаты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru