我在C#类中定义了一个私有const int。如果这个int mod 3!= 0的值,我希望编译失败并出现错误。如何实现此目的?
答案 0 :(得分:4)
Timothy Khouri几乎得到了它。它应该是这样的:
int compilerError = 1 / (MY_CONST % 3 == 0 ? 1 : 0);
答案 1 :(得分:2)
虽然有一个#error预处理器指令用于生成编译时错误,但它没有办法基于const值的存在。它仅适用于无法分配值的编译器符号,如“DEBUG”。
答案 2 :(得分:1)
很抱歉,我在下面说的代码不起作用,但这样会:)
int pointless = 1 / (MY_CONST % 3);
这将起作用的原因是因为你将得到一个编译时间,“不能偏零”错误。你的“MY_CONST”字段必须是(一旦被3修改)不等于零的任何东西。
答案 3 :(得分:-1)
试试这个:
if (MY_CONST % 3 != 0) { int compilerError = 1 / 0; }