2010-05-24 19 views
10

He enlazado una lista de enum a un cuadro combinado. Ahora quiero obtener el SelectedItem devolver la enumeración, que actualmente la devuelve como tipo object. ¿Cómo convierto este objeto a mi enum?Convertir objeto a enum C#

Mi marco es Silverlight en windows-phone-7

+0

¿Has probado typecast? –

Respuesta

17

moldeada que:

MyEnum selected = (MyEnum)cboCombo.SelectedItem; 

Tenga en cuenta que no se puede utilizar el elenco as en este caso desde un Enum es un tipo de valor.

+0

wow, esto funciona ahora. Por alguna razón, el compilador me decía que 'MyEnum' se usa como una variable en esa declaración exacta. –

+0

@Jon Seigel es una buena opción para el comentario "as". ¿Visual Studio hace "unboxing" detrás de escena aquí? – gonzobrains

4

¿Has probado esto ?? directamente

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

Eso puede funcionar con una propiedad de cadena, pero no con 'SelectedItem'. – leppie

+0

@leppie: pensé que, por algún motivo, el encasillado no funciona para OP, por lo que puede probar este truco. – viky