Чувствительный к версии устаревший атрибут - PullRequest
3 голосов
/ 11 апреля 2011

Атрибут [Obsolete] очень удобен для маркировки классов, которые устарели в пользу лучших реализаций, но он не чувствителен к версии .Net, на которую ориентирован проект.

Например, допустим, я использую класс ThreadSafeDictionary, выпущенный в домашних условиях, для версий .Net до 4.0.Когда вышел .Net 4.0, он включил новый класс под названием ConcurrentDictionary .Я хотел бы иметь возможность пометить ThreadSafeDictionary как [Obsolete], но только , если проект компилируется для .Net 4.0.Похоже, что ObsoleteAttribute не поддерживает управление предупреждениями компилятора по версии фреймворка.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 11 апреля 2011

Полагаю, вы могли бы развернуть свой пользовательский атрибут и затем создать процесс после сборки, который проверяет скомпилированный код с помощью рефлексии в поисках вашего атрибута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...