版本敏感的ObsoleteAttribute

时间:2011-04-11 16:26:19

标签: .net attributes

[Obsolete]属性非常便于标记已弃用的类以支持更好的实现,但它对项目所针对的.Net版本不敏感。

例如,假设我在4.0版本之前使用的是自制的ThreadSafeDictionary类.Net版本。当.Net 4.0问世时,它包含了一个名为ConcurrentDictionary的新类。如果正在为.Net 4.0编译项目,我希望能够将ThreadSafeDictionary标记为[Obsolete],而仅标记。股票ObsoleteAttribute似乎不支持按框架版本控制编译器的警告。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

我想您可以推出自定义属性,然后创建一个构建后的过程,通过反射搜索您的属性来检查已编译的代码。