Ho un const int privato definito in una classe C #. Voglio che la compilazione fallisca con un errore se il valore di questo int mod 3! = 0. Come posso farlo?
risposte:
4 per risposta № 1Timothy Khouri ha quasi capito. Dovrebbe essere questo:
int compilerError = 1 / (MY_CONST % 3 == 0 ? 1 : 0);
2 per risposta № 2
Anche se c'è un #errore direttiva pre-processore per la generazioneerrori di compilazione, non è possibile basarsi sull'esistenza di un valore const. Funziona solo con i simboli del compilatore, come "DEBUG", per i quali non è possibile assegnare un valore.
1 per risposta № 3
Spiacente, quel codice che ho detto sotto non funzionerà, ma questo :)
int pointless = 1 / (MY_CONST % 3);
Il motivo per cui questo funzionerà è perché otterrai un tempo di compilazione, "non puoi dividere per zero" errore. Il tuo campo "MY_CONST" dovrà essere tutto ciò che (una volta modificato da 3) non sarà uguale a zero.
-1 per risposta № 4
Prova questo:
if (MY_CONST % 3 != 0) { int compilerError = 1 / 0; }