.net - 在 Release模式下不编译方法的 .NET 属性是什么?

标签 .net compiler-construction attributes

我知道,如果我有一个代码块,我不想在 Release模式下编译,我可以将该代码块包装在:

#if DEBUG
   while(true)
{ Console.WriteLine("StackOverflow rules"); }
#endif

这将阻止此代码块以 DEBUG 以外的任何模式编译。 .

我知道有一个属性可以放在一个可以做同样事情的整个方法上,但是对于我来说,我不记得那个属性是什么了。我相信它在 System.Diagnostics 下命名空间,但我不太确定。

顺便说一句:我使用的是 .NET 4,但我知道这个属性存在于 .NET 2 中,因为我在旧项目中使用过。

谢谢

最佳答案

这是ConditionalAttribute .

Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined.



您应该将其定义为 [Conditional("DEBUG")]并确保未在 Release模式下定义 DEBUG 常量。

关于.net - 在 Release模式下不编译方法的 .NET 属性是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2803300/

相关文章:

.net - 如何解决 .Net 命名空间与 'using' 关键字的冲突?

c# - Guid 的默认值是多少?

java - UNIX 设置扩展属性 setxattr

c# - 正则表达式模型验证 : Whole Number or Decimal Multiples of . 25

java - 为什么 java 编译器不显示明显除以零的警告?

javascript - 如何使用 jQuery 读取 data-* 属性的原始内容?

c# - 如何获得定号之间的字符串中间部分?

.net - .NET 中的免费语法突出显示组件

C++ 迭代器和循环优化

assembly - 用于学生项目的小型汇编翻译器