如何在c#中创建[experimental]标签,抛出编译器警告

Pet*_*etr 3 c#

在c#中,我可以通过执行将某些功能标记为过时

[Obsolete]
void Foo()
{}
Run Code Online (Sandbox Code Playgroud)

这告诉编译器如果我正在使用此函数则抛出警告.

我想创建我自己的标签[实验],就像过时一样,发出警告告诉用户构建代码,该功能未经过充分测试并使用它可能会导致麻烦.

是否有可能做到这一点?怎么样?

Eri*_*ert 13

我想创建自己的属性[Experimental],就像[Obsolete]编译器产生警告一样.是否有可能做到这一点?

不,对不起 Obsolete是一个非常特殊的属性.编译器具有为其编写的专用代码.C#中没有可扩展的警告机制.

如果您想将此建议提交给Visual Studio团队,可以在http://visualstudio.uservoice.com/上执行此操作.


Chr*_*xon 1

您可以将其添加为属性。

[System.AttributeUsage(AttributeTargets.All)]
public class Experimental: System.Attribute
{

}
Run Code Online (Sandbox Code Playgroud)

  • 它如何生成编译器警告? (3认同)
  • 该问题是在所有这些答案之前更新的。-3毫无意义。 (2认同)