- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是出于好奇而提出的问题。我正在处理一些代码,并意识到以下代码仍然可以在发布时编译:
class Program
{
[Conditional("DEBUG")]
private static void Main()
{
// do stuff
}
}
我认为 ConditionalAttribute 应该消除该方法,但它没有。入口点有什么特别之处?
最佳答案
我相信它消除了对方法的调用,而不是方法本身。 Main
永远不会(也不应该)从您的代码中调用,因此这不会改变任何内容。
关于c# - Main() 上的 ConditionalAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5131795/
我查看了 ConditionalAttribute 声明,它是这样声明的: 我发现 JavaScript 代码是这样的: [AttributeUsage(AttributeTargets.Class
ConditionalAttribute 可用于根据定义的编译器符号删除对标记方法的调用。我假设我们无法自己创建此类,因为编译器必须专门寻找它。 我想知道还有哪些编译器或语言使用的其他类我们无法自己编
根据 ConditionalAttribute 上的文档类(class): Applying ConditionalAttribute to a method indicates to compile
我知道 ConditionalAttribute 的作用。 文档说它也可以应用于一个类,如果它是从 Attribute 派生的: [Conditional("DEBUG")] public class
这是出于好奇而提出的问题。我正在处理一些代码,并意识到以下代码仍然可以在发布时编译: class Program { [Conditional("DEBUG")] private st
我正在研究 .NET C#(特别是 Xamarin.Forms)。我不太了解编译器/运行时如何在幕后使用 ConditionalAttribute。 如果我有一个定义了 System.Diagnost
我尝试了以下代码: class Magic { [Conditional("DEBUG")] public static void DoMagic( int stuff ) {
我想编写一个 async 方法,但我希望它仅在使用特定编译常量编译程序集时才可调用。 单向 我可以做到这一点的一种方法是使用 pragma 指令,即像这样的条件编译常量: // Callee #if
我有一个 C++-CLI 引用类,它公开了一个用 C++ 实现的分析基础结构。 在 C++ 中,我有预处理器指令 PROFILING_ENABLED 来确定代码中是否存在侵入式分析函数。 当将这些暴露
是否有类似的条件不存在属性,或者如果该符号未定义,是否有使用条件属性仅包含方法的方法? 我正在寻找的是这样工作的: [Conditional("!SILVERLIGHT")] private void
在工作中,我们有很多 AS3 代码有条件地执行日志记录或断言,如下所示: CONFIG::debug { assert(blah > 2); } 我宁愿只写: assert(blah > 2)
在 C# 中,可以创建如下方法: [Conditional("DEBUG")] private void MyFunction() { } 在发布中,这个方法将不再“存在”。 使用 C++,我有一个类
我是一名优秀的程序员,十分优秀!