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”); foreach(员工中的var元素) { var employee = new 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 :(得分: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);