一个实体类映射,对它其中类型为枚举的属性进行赋值
//有一个实体类Member
public class Member
{
public Member() { }
private string _id;
private string _name;
private SexType _sex;
public string ID()
{
get{ return _id; } set { _id=value; }
}
public string Name()
{
get{ return _name; } set { name=value; }
}
public SexType Sex()
{
get{ return _sex; } set { _sex=value; }
}
}
//有一个枚举
public enum EduLevelType
{
man = 0,
woman = 1
}
//对枚举赋值的一个通用方法(其实还有很多操作,这里简化了)
public void Source(Object obj,int intID)
{
Type t = obj.GetType();
System.Reflection.PropertyInfo[] PS = t.GetProperties();
int ID;
for (ID = 0; ID < PS.Length; ID++)
{
//当属性是枚举类型时
if(PS[ID].PropertyType.IsEnum)
{
//对枚举类型的属性Sex进行赋值,怎样实现呢
//如果直接这样做,是不行的:PS[ID].SetValue(obj, intID, null);
}
}
方法引用:Member mem = new Member();
Source(mem ,1);
结果应该是:mem.Sex = woman;