2010-05-24 19 views
10

Ich habe eine Liste von Enum zu einer Combobox gebunden. Jetzt möchte ich die SelectedItem die Enumeration zurückgeben, die es als Typ object zurückgibt. Wie konvertiere ich dieses Objekt in meine enum?Objekt in Enum C konvertieren

Mein Rahmen ist Silverlight auf Windows-Phone-7

+0

Haben Sie eine Typumwandlung versucht? –

Antwort

17

Guss es direkt:

MyEnum selected = (MyEnum)cboCombo.SelectedItem; 

Beachten Sie, dass Sie nicht die as Besetzung in diesem Fall, da ein Enum ein Werttyp verwenden können.

+0

wow, das funktioniert jetzt. Aus irgendeinem Grund sagte mir der Compiler, dass 'MyEnum' als Variable in dieser genauen Anweisung verwendet wird. –

+0

@Jon Seigel guten Ruf auf die "wie" Cast Kommentar. Führt Visual Studio hier hinter den Kulissen "Unboxing" aus? – gonzobrains

4

Haben Sie versucht, diese ??

YourEnum abc = (YourEnum) Enum.Parse(typeof(YourEnum), yourObject.ToString()); 
+1

Das funktioniert möglicherweise mit einer String-Eigenschaft, aber nicht mit 'SelectedItem'. – leppie

+0

@leppie: Ich dachte, aus irgendeinem Grund funktioniert Typecasting nicht für OP, also kann er diesen Trick versuchen. – viky