在 c# 中,有一些属性(例如 [obsolete])会创建将在 visual studio 中显示的编译器警告。
是否有一个属性可以用来标记一个方法或一个带有注释的类,在我编译时应该在 visual studio 中显示为警告?
类似于:
[TBD(Msg="Please change me after 2010 07 20")]
public void Foo(){
}
或者是否有可能我可以从 System.Attribute 派生并创建我自己的属性,配置 visual studio 使其按照我描述的方式运行。
更新
感谢大家的回答 我接受了 Robaticus 的回答,因为他向我展示了我真正需要的解决方案:
#warning Message
显示了我想要的所需消息,它没有任何开销就可以做到这一点。谢谢!
然而我搜索的方向错误,因此问错了问题。对于那些正在阅读这篇文章并对最初问题的答案感兴趣的人,我找到了 Mark Rushakoff 的链接 posted 很有趣。在这篇文章中,Pablo Fernandez 展示了一种巧妙的方法,即在属性上使用属性来完成我所要求的。
最佳答案
使用 second parameter做这个。
//Compiling error
[System.Obsolete("Obsolete use blah instead", true)]
//Compiling warning
[System.Obsolete("Obsolete use blah instead", false)]
关于c# - 标记代码的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3032477/