更新资料
Roslyn(Visual Studio
2015)现在可以做到这一点。你可以建立一个代码分析器来检查自定义属性
我不认为有可能。ObsoleteAttribute由编译器专门处理,并在C#标准中定义。为什么地球上的ObsoleteAttribute不可接受?在我看来,这恰恰是它所针对的情况,并且恰好实现了您的要求!
还要注意,Visual Studio也会即时获取由ObsoleteAttribute生成的警告,这非常有用。
并不是要无益,只是想知道为什么您不热衷于使用它…
不幸的是ObsoleteAttribute是密封的(可能部分是由于特殊处理),因此您不能从中继承自己的属性。
从C#标准:
“过时”属性用于标记类型和不应再使用的类型成员。
如果程序使用用过时属性修饰的类型或成员,则编译器将发出警告或错误。具体而言,如果未提供错误参数,或者提供了错误参数且其值为false,则编译器会发出警告。如果指定了错误参数并且值为true,则编译器将发出错误。
那不是总结您的需求吗?…您做得不会比我想不到的要好。



