利用反射完成一个类中,属性的批量赋值操作

方法一,对象属性依次赋值,对象成员发生变化时,需修改该方法:

bs.add=true;
bs.edit=true;
bs.list=true;
...
return bs;

方法二,利用反射,批量赋值:

ButtonState bs = new ButtonState();//
Type t = typeof(ButtonState);
PropertyInfo[] myPropertyInfo;
myPropertyInfo = t.GetProperties();
for (int i = 0; i < myPropertyInfo.Length; i++)
{
   myPropertyInfo[i].SetValue(bs, true, null);
}
return bs;

对象:

/// 
    /// 按钮状态
    /// 
    public class ButtonState
    {
        /// 
        /// 新增
        /// 
        public bool add { get; set; }
        /// 
        /// 编辑
        /// 
        public bool edit { get; set; }
        /// 
        /// 列表
        /// 
        public bool list { get; set; }
        /// 
        /// 查询
        /// 
        public bool serch { get; set; }
        /// 
        /// 查看
        /// 
        public bool view { get; set; }
    }

你可能感兴趣的:(.Net)