Si è parlato di Enum in generale che violava i principi del Codice pulito, quindi sto cercando gli anti-pattern e le soluzioni alternative di Enum preferite dalle persone per questi.C#: Enum anti-patterns
Per esempio ho visto il codice come questo:
switch(enumValue) {
case myEnum.Value1:
// ...
break;
case myEnum.Value2:
// ...
break;
}
E 'un passo migliore di switch-dichiarazioni con le stringhe di magia, ma questo probabilmente avrebbe potuto essere risolto meglio con una fabbrica, un contenitore o altro modello .
O anche vecchia scuola codice come questo:
if(enumValue == myEnum.Value1) {
// ...
} else if (enumValue == myEnum.Value2) {
// ...
}
Quali altri anti-pattern e le implementazioni migliori avete sperimentato con enumerazioni?
Dizionario meglio di Enum ?? puoi spiegare perché? –
Mescoli tutto insieme. 'switch' contro enum non è male da solo. a volte è necessario, ad esempio nella fabbrica menzionata. – Andrey
Dovresti usare Dizionario con una chiave di enum. In questo modo ottieni il meglio da entrambi i mondi: un dizionario fortemente tipizzato e niente più dichiarazioni a lungo termine. – VitalyB