【发布时间】:2013-07-27 07:05:42
【问题描述】:
我试图弄清楚是否有任何方法可以避免因预处理器引起的某些事情而收到“无法访问的代码”警告。我不想抑制所有此类警告,只抑制那些将依赖于预处理器的警告,例如
#if WINDOWS
public const GamePlatform platform = GamePlatform.PC;
#else
public const GamePlatform platform = GamePlatform.MAC;
#endif
后来有代码:
if (platform == GamePlatform.PC)
{
...
}
else
{
...
}
这两个部分中的一个将始终被检测为“无法访问的代码”,我们到处都有。我想尝试摆脱它创建的许多警告,但我仍然想获得合法无法访问代码的警告。 (实际上,平台不止两个,因此每一块特定于平台的代码都会产生一堆不必要的警告。)
【问题讨论】:
-
将此问题作为参考。 stackoverflow.com/questions/1930793/…具体看Jason Down的回答。
-
我确实先搜索了其他问题,没有看到任何专门针对此问题处理预处理器的问题。 (关于无法访问的代码有很多问题,但我检查的所有问题似乎都不是相同的情况。)令人烦恼的是,没有某种方法可以解决这个问题,既不会显着丑化代码,也会降低性能(略),或隐藏可能有用的警告。
标签: c# visual-studio-2010 c-preprocessor compiler-warnings unreachable-code