在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展示了一种使用属性属性来完成我所要求的聪明方法。
答案 0 :(得分:7)
使用second parameter执行此操作。
//Compiling error
[System.Obsolete("Obsolete use blah instead", true)]
//Compiling warning
[System.Obsolete("Obsolete use blah instead", false)]
答案 1 :(得分:3)
另一个选择是做一个预处理器指令:
#warning Please change this code after 2010 07 20