问题标签 [compiler-directives]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
5284 浏览

c# - #在 C# 中定义编译器指令

在 C 中,我可以声明一个编译器指令,如下所示:

但是,在 C# 中,我似乎只能这样做:

在这种情况下,这显然是无用的。

这是正确的,还是我做错了什么?如果没有,任何人都可以在命名空间或解决方案级别建议一种方法吗?我想也许可以创建一个静态类,但这对于一个值来说似乎有点过头了。

0 投票
4 回答
662 浏览

delphi - 用于反向评估参数的 Delphi 编译器指令

我对这个使用 Math.pas 中的 IFThen 函数的 delphi 两个班轮印象深刻。但是,它首先评估 DB.ReturnFieldI,这是不幸的,因为我需要调用 DB.first 来获取第一条记录。

(作为一个毫无意义的澄清,因为我已经得到了很多好的答案。我忘了提到 0 是 DB.First 如果它有东西返回的代码,否则可能没有意义)

显然这没什么大不了的,因为我可以让它与五个坚固的衬垫一起工作。但我所需要的只是让 Delphi 先评估 DB.first ,然后再评估 DB.ReturnFieldI 。我不想更改 math.pas 并且我认为这不值得我进行重载 ifthen 因为有 16 个 ifthen 函数。

只要让我知道编译器指令是什么,如果有更好的方法来做到这一点,或者如果没有办法做到这一点,任何人的程序是调用 db.first 并盲目检索他发现的第一件事不是一个真正的程序员。

0 投票
1 回答
2441 浏览

vb.net - 使用 VB.Net 和/或运算符进行逻辑短路:任何编译器指令/解决方法?

我发现一直使用 AndAlso/OrElse 非常烦人。它降低了代码的可读性,尤其是在条件变得复杂时。

有什么建议么?

0 投票
3 回答
581 浏览

delphi - 如何暂时禁用“返回值可能未定义”警告?

我想在我的代码中禁用特定警告(W1035),因为我认为编译器对此警告有误:

结果不可能是未定义的,因为Abortthrows EAbort

我试过了:

  • {$WARN 1035 Off}:显然这仅适用于某些特定错误(请参阅文档
  • {$W-1035}: 什么都不做

我知道我可以在项目选项中全局关闭警告,或者使用{$WARNINGS OFF},但这不是这里的意图。

编辑:我现在已将其 QC 为#89744

0 投票
1 回答
1160 浏览

c# - 调试时的 Monotouch 编译器指令

在我的 MonoTouch 应用程序中,如何在调试模式下添加 # 编译器指令以包含代码?

0 投票
2 回答
677 浏览

c# - 配置中的运行时指令

好吧,假设我有以下 if 语句:

是否可以仅当 app.config 中的某个值为真时才运行该语句,而无需在包装时创建另一个值?

这就像制作一个预处理器#if 指令,不仅用于预处理,还用于运行时。

有这样的事吗?JIT指令或类似的东西?

0 投票
5 回答
10614 浏览

delphi - 我在哪里定义用 {$IFDEF} 测试的符号?

当我在代码中使用 Delphi 指令时,例如:

我在项目中在哪里分配“某事”这个词?我在项目选项的某些地方尝试过,但没有奏效。估计我没找到对的。

0 投票
1 回答
156 浏览

iphone - 用于将整数添加到 nsmuatablearray FMDB/EGODB 的编译器指令防御性编程

当用户尝试将 int 添加到 nsmutablearray 时,我想发出警告消息

基本上任何包含非 nsstring / nsnumber 值的插入语句都会导致运行时崩溃。当您键入 %@ 而不是 %d NSLog(int); 时,这与您遇到的崩溃完全相同。崩溃是好的,但我想向用户抛出一个友好的“致命”消息。

到目前为止,我尝试使用 isKindOfClass NSObject 进行尝试,但整数正在溜走。

NSLog(@"VAToArray :%@",VAToArray(sql)); }

// 然后调用这个

当我称之为 [self test:@"str",2,nil];

抛出错误信息。

0 投票
3 回答
532 浏览

c# - 避免在 c# 中对一段代码进行调试和调用堆栈

在 Delphi 中,编译器指令 {$d-} 和 {$l-} 允许您有效地避免为已定义的代码段生成调试和局部变量信息。

在一个实际的问题中,它会在调试视图中“隐藏”代码,它不会出现在调用堆栈中,并且您在调试时也不会进入它。

有什么方法可以使用 VS 2008 在 c# 中实现相同的结果?

注意:原因是我们有一个稳定的框架,不需要调试,但往往会弄乱调用堆栈和标准调试流程。

0 投票
5 回答
1696 浏览

c# - 如何在 C# 中使用 If DEBUG 语句而没有 IDE 认为代码无法访问?

我有一些代码需要在调试和发布模式下略有不同。它有一个常量,在某些模式和其他模式PrettyPrint中设置为,我有时会更改它们。truefalse

这很好用,编译器足够聪明,可以优化if离开。但是,我收到一个烦人的警告:

有没有办法在不执行以下任何操作的情况下避免此警告:

  • 直接在代码中使用#if- 因为它使那部分代码非常难看,我想尽可能避免#ifs 。
  • 在其他情况下抑制 CS0162 - 因为我发现该警告对于查找损坏的代码非常宝贵。

如何#if DEBUG在 IDE 不相信后面的所有代码都无法访问的情况下使用语句?