8

我试图弄清楚是否有任何方法可以避免因预处理器引起的某些事情而收到“无法访问的代码”警告。我不想禁止所有此类警告,只有那些将依赖于预处理器的警告,例如

#if WINDOWS
    public const GamePlatform platform = GamePlatform.PC;
#else
    public const GamePlatform platform = GamePlatform.MAC;
#endif

后来有代码:

if (platform == GamePlatform.PC)
{
    ...
}
else
{
    ...
}

这两个部分之一将始终被检测为“无法访问的代码”,我们到处都有。我想尝试摆脱它创建的许多警告,但我仍然想获得合法无法访问代码的警告。(实际上,不止有两个平台,因此每一块特定于平台的代码都会产生一堆不必要的警告。)

4

1 回答 1

8

选项 1:在有 if 语句的地方添加预处理器宏。这将更高效,但可能有点丑陋。

选项 2:使平台变量不是 const。将其设置为静态只读使警告对我来说消失了。

于 2013-07-26T21:13:12.007 回答