标记代码的属性

时间:2010-06-13 13:58:52

标签: c# .net

在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展示了一种使用属性属性来完成我所要求的聪明方法。

2 个答案:

答案 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
相关问题