标记代码的属性

HCL*_*HCL 3 .net c#

在c#中有一些属性,如[废弃],它们会创建将在visual studio中显示的编译器警告.

是否有一个属性可用于标记方法或带有注释的类,当我编译时,应该在visual studio中显示为警告?

就像是:

[TBD(Msg="Please change me after 2010 07 20")]
public void Foo(){
}
Run Code Online (Sandbox Code Playgroud)

或者是否有可能从System.Attribute派生并创建自己的属性,配置visual studio以使其行为与我所描述的一样.

UPDATE

感谢大家的回答,我接受了Robaticus的答案,因为他向我展示了我真正需要的解决方案:

#warning Message
Run Code Online (Sandbox Code Playgroud)

显示我想要的所需消息,它没有任何开销.谢谢!

但是我搜索的方向错误,因此提出了错误的问题.对于那些正在阅读这篇文章并且对初始问题的答案感兴趣的人,我发现Mark Rushakoff 发布的链接 非常有趣.在这篇文章中,Pablo Fernandez展示了一种使用属性属性来完成我所要求的聪明方法.

Bri*_*ndy 7

使用第二个参数执行此操作.

//Compiling error
[System.Obsolete("Obsolete use blah instead", true)]


//Compiling warning
[System.Obsolete("Obsolete use blah instead", false)]
Run Code Online (Sandbox Code Playgroud)