Problem mit Enum

03/08/2008 - 23:49 von Lorenz Buchberger | Report spam
Hallo NG,

Ich habe mal mein Project auf Strict = on umgestellt und habe jetzt ein paar
typekonvertierungsprobleme.
Am problematischsten find ich die Konvertierung von Enums. Ich habe es ejtzt
so gemacht:

Enum Zahlen As Integer
eins = 1
zwei = 2
drei = 3
End Enum

Public Class Form1
Private Sub SimpleButton2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles SimpleButton2.Click
Dim x As Zahlen
Dim value As Integer = Integer.Parse(TextEdit2.Text)
x = CType(System.Enum.Parse(GetType(Zahlen),
System.Enum.GetName(GetType(Zahlen), value)), Zahlen)
MessageBox.Show(x.ToString)
End Sub
End Class


Frage: geht das nicht einfacher ?

Liebe Grüße

Lorenz
 

Lesen sie die antworten

#1 Bernd Schend
04/08/2008 - 09:30 | Warnen spam
Hallo Lorenz,

angenommen, die Variable "value" enthàlt immer einen passenden Wert,
dann kannst die wie folgt konvertieren:
x = DirectCast(value, Zahlen).

Falls du dies nicht sicherstellen kannst, musst du eine Prüfung
vorschalten:
http://dotnettipoftheday.org/tips/v...fined.aspx

Alternativ kannst du statt der Prüfung natürlich auch Try ... Catch
verwenden.

Gruß
Bernd

P.S. Das "as Integer" in "Enum Zahlen As Integer" kannst du i.d.R.
weglassen. Ist nàmlich Default.

Ähnliche fragen