Цитата:
Сообщение от
mazzy
технология на атрибутах требует двойных-тройных трудозатрат.
чтобы не быть голословным.
по существующей технологии - для того, чтобы помечать атрибутом, нужно создать класс атрибута и прописать как параметры будут преобразованы в ключ.
всего сейчас 83 потомка от SysExtensionAttribute.
3 из них универсальные - enum, menuItem, dataset.
остальные - как правило просто специализированные классы для enum'ов. (почему не универсальный FormEnumSymbolFactoryAttribute? а ХЗ. универсальный класс сейчас используется только в 8 местах)
так вот, получается, чтобы работать по текущим рекомендациям с атрибутами, нужно:
= создать сам класс и встроить его в иерархию
= разобраться с классом атрибутов и встроить туда (или создать класс атрибутов)
= разобраться с фабрикой и встроить туда
= добавить menuItem, если нужно дать функционал пользователю, разобраться как menuItem должен запустить нужный класс
плюс работа, которой никогда нет в МС, но частенько бывает на проекте - решить что делать с функционалом, который добавлен разными партенрами. раньше пересечения нужно было искать только в construct. теперь пересечения нужно искать по разнообразным семействам - классы, атрибуты, стратегии инстанцирования, menuItem.