2010-05-24 13 views
10

Bir combobox'a enum listesini bağladım. Şimdi SelectedItem numaranı döndürmek için şu anda object türünde döndüren enum'u döndürmek istiyorum. Bu nesneyi numarama nasıl dönüştürürüm?Nesneyi enum C'ye dönüştür C#

Benim çerçeve windows-telefona-7

+0

typecast'i denediniz mi? –

cevap

17

Oyuncular it:

MyEnum selected = (MyEnum)cboCombo.SelectedItem; 

Not Bir Enum beri bu durumda as döküm kullanamadığı bir değer türüdür.

+0

Vay, şimdi çalışıyor. Bir sebepten dolayı derleyici bana “MyEnum” un bu açık ifadede bir değişken olarak kullanıldığını söylüyordu. –

+0

@Jon Seigel "as" yorumuna iyi çağrı. Visual Studio sahnenin ardında "unboxing" yapıyor mu? – gonzobrains

4

bu denediniz üzerinde Silverlight mi ?? doğrudan

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

Bu, bir string özelliği ile çalışabilir, ancak 'SelectedItem' ile çalışmaz. – leppie

+0

@leppie: Bazı nedenlerden dolayı, OP için typecasting'in çalışmadığını düşündüm, bu yüzden bu numarayı deneyebilir. – viky