c# - 标记代码的属性

标签 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 展示了一种巧妙的方法,即在属性上使用属性来完成我所要求的。

最佳答案

使用 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/

相关文章:

c# - AxisAngleRotation3D.Axis 属性的真正含义是什么?

.net - Mac 上的 Jenkins 和 MSBuild

c# - 毫秒精度的 Windows 系统时间

javascript - Angular js只会在ng-repeat中显示第一个元素

C# WPF-组合框

c# - 具有 IEnumerable<ISomeInterface> 类型属性的 NewtonSoft.Json 序列化和反序列化类

c# - 如何在单元测试中验证 EF Core DBContext 配置

lock(obj) 中的 c# 函数

c# - 如何在选择另一个@Html.DropDownList 后填充@Html.DropDownList

.net - Haskell 用于 .net 平台?