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