/ / Forza errore del compilatore C # basato sul valore const - c #, compilatore-costruzione

Errore del compilatore Force C # basato sul valore const - c #, costruzione del compilatore

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 № 1

Timothy 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; }