[Obsolete]
属性非常便于标记已弃用的类以支持更好的实现,但它对项目所针对的.Net版本不敏感。
例如,假设我在4.0版本之前使用的是自制的ThreadSafeDictionary
类.Net版本。当.Net 4.0问世时,它包含了一个名为ConcurrentDictionary的新类。如果正在为.Net 4.0编译项目,我希望能够将ThreadSafeDictionary
标记为[Obsolete]
,而仅标记。股票ObsoleteAttribute
似乎不支持按框架版本控制编译器的警告。
有没有办法做到这一点?
答案 0 :(得分:0)
我想您可以推出自定义属性,然后创建一个构建后的过程,通过反射搜索您的属性来检查已编译的代码。