3 回答

TA贡献1815条经验 获得超10个赞
更新
现在可以使用Roslyn(Visual Studio 2015)。你可以建立一个代码分析器来检查自定义属性
我不相信这是可能的。ObsoleteAttribute由编译器专门处理,并在C#标准中定义。为什么ObsoleteAttribute不被接受?在我看来,这正是它所设计的情况,并准确地实现了您的需求!
另请注意,Visual Studio也会即时获取由ObsoleteAttribute生成的警告,这非常有用。
不要意味着无益,只是想知道你为什么不热衷于使用它...
不幸的是,ObsoleteAttribute是密封的(可能部分是由于特殊处理),因此您无法从中继承自己的属性。
从C#标准: -
属性Obsolete用于标记不再使用的类型和类型成员。
如果程序使用使用Obsolete属性修饰的类型或成员,则编译器会发出警告或错误。具体而言,如果未提供错误参数,或者提供了错误参数且值为false,则编译器会发出警告。如果指定了error参数并且值为true,则编译器会发出错误。
这不能总结你的需求吗?......你不会做得比我想象的更好。

TA贡献1818条经验 获得超11个赞
在某些编译器中,您可以使用#warning发出警告:
#warning "Do not use ABC, which is deprecated. Use XYZ instead."
在Microsoft编译器中,您通常可以使用消息编译指示:
#pragma message ( "text" )
你提到过.Net,但没有说明你是用C / C ++还是用C#编程。如果您使用C#进行编程,那么您应该知道C#支持#warning格式。
- 3 回答
- 0 关注
- 315 浏览
添加回答
举报