C#反射设置属性值和获取属性值

来源:互联网 发布:cocos js protobuf 编辑:程序博客网 时间:2024/05/08 15:15
        ///         /// 获取类中的属性值        ///         ///         ///         ///         public string GetModelValue(string FieldName, object obj)        {            try            {                Type Ts = obj.GetType();                object o = Ts.GetProperty(FieldName).GetValue(obj, null);                string Value = Convert.ToString(o);                if (string.IsNullOrEmpty(Value)) return null;                return Value;            }            catch            {                return null;            }        }        ///         /// 设置类中的属性值        ///         ///         ///         ///         public bool SetModelValue(string FieldName,string Value, object obj)        {            try            {                Type Ts = obj.GetType();                object v = Convert.ChangeType(Value, Ts.GetProperty(FieldName).PropertyType);                Ts.GetProperty(FieldName).SetValue(obj, v, null);                return true;            }            catch            {                return false;            }        }

 

在网上找没有找到,刚自己写了一个方法,供分享.

在写方法时这里有一个东西弄了很久没有搞好.就是属性类型如果是int 时,传入string字串就会设置不成功.

这里我用到了Convert.ChangeType 转换,根据属性类型自动转换.

原创粉丝点击