欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#运用反射获取属性和设置属性值

程序员文章站 2022-10-05 16:51:23
/// /// 获取类中的属性值 /// /// /// /// public string Ge ......

/// <summary>

/// 获取类中的属性值
/// </summary>
/// <param name="FieldName"></param>
/// <param name="obj"></param>
/// <returns></returns>
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;
    }
}
 
/// <summary>
/// 设置类中的属性值
/// </summary>
/// <param name="FieldName"></param>
/// <param name="obj"></param>
/// <returns></returns>
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;
    }
}