2014-10-14 6 views
0
public class EmpModel 
{ 
    public string UserName { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public int Age { get; set; } 
    public Gender Gender { get; set; } 
    public int DepartmentId { get; set; } 
} 


#region [ Enumeration] 

public enum Gender 
{ 
    Male = 0, 
    FeMale = 1 
} 

Теперь, как получить значение перечисления var employees = root.Elements ("Employee"); Еогеасп (вар элемент сотрудников) { вар работник = новый EmpModel {Получить значение перечисления из класса

    UserName = element.Element("UserName").Value, 
        FirstName = element.Element("FirstName").Value, 
        LastName=element.Element("LastName").Value, 
        Age=Convert.ToInt32(element.Element("Age").Value), 
        Gender= element.Element("Gender").Value, // On this line shows error 
        DepartmentId=Convert.ToInt32(element.Element("Department").Value)        
       }; 

Благодаря

+0

где ваш сотрудник? Каков тип пола в этом классе? – Mukund

ответ

0

Перечисления в C# представлены целыми числами (Int32) внутренне по умолчанию. Таким образом, в этом случае, если файл XML содержит строку «0» или «1», то можно просто разобрать его, а затем бросил его на правильный тип перечисления:

Gender = (Gender) Int32.Parse(element.Element("Gender").Value); 

Если вы читаете строки, которые соответствуют имена Перечисления, вы должны использовать Enum.Parse():

Gender = (Gender) Enum.Parse(typeof(Gender), element.Element("Gender").Value); 
Смежные вопросы