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

/// <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;
    }
}
原文地址:https://www.cnblogs.com/klsw/p/8615590.html