Hallo Zusammen,
warum funktioniert das nicht?
public enum WERTE : int
{
WERT1,
WERT2,
WERT3
}
int w1 = WERTE.WERT1; // Fehler
WERTE w2 = WERTE.WERT1; // Ok
Bei den Members handelt es sich doch um Integer oder nicht?
Danke
Du must es casten, WERTE und int sind zwei verschiedene Datentypen. Die WERTE-Members sind vom Typ WERTE.
int w1 = (int)WERTE.WERT1;
Hallo zusammen,
man könnte noch ergänzen, dass durch das ': int' keine Vererbung stattfindet (welche die fehlerhafte Zuweisung dann ja erlauben würde), sondern lt. Doku nur "der zugrunde liegende Typ, durch den der Speicher festgelegt wird, der für die einzelnen Enumeratoren reserviert wird" festgelegt wird. Und da int Default ist, kann das ': int' ganz entfallen.
HTH
herbivore