利用反射给对象中的某个属性赋值或取值
2013-07-19 14:15
246 查看
//Using System.Linq;引用命名空间
/// <summary>
/// 利用反射根据对象和属性名取对应属性的值
/// </summary>
/// <param name="feildname"></param>
/// <param name="obEntity"></param>
/// <returns></returns>
public string GetValueByPropertyName(string feildname, Object obEntity)
{
string PropertyVaule = string.Empty;
Type tpEntity = obEntity.GetType();
System.Reflection.PropertyInfo[] pis = tpEntity.GetProperties();
var a=pis.FirstOrDefault(m=>m.Name==feildname);
if (a!=null)
{
object obj= a.GetValue(obEntity, null);
if (obj != null)
{
PropertyVaule = obj.ToString();
}
break;
}
return PropertyVaule;
}
/// <summary>
/// 利用反射根据对象和属性名为对应的属性赋值
/// </summary>
/// <param name="feildname"></param>
/// <param name="obEntity"></param>
/// <returns></returns>
public void SetValueByPropertyName(string feildname, Object obEntity,string Value)
{
Type tpEntity = obEntity.GetType();
System.Reflection.PropertyInfo[] pis = tpEntity.GetProperties();
var a=pis.FirstOrDefault(m=>m.Name==feildname);
if (a!=null)
{
a.SetValue(obEntity, Convert.ChangeType(Value,a.PropertyType),null);
return;
}
}
}
/// <summary>
/// 利用反射根据对象和属性名取对应属性的值
/// </summary>
/// <param name="feildname"></param>
/// <param name="obEntity"></param>
/// <returns></returns>
public string GetValueByPropertyName(string feildname, Object obEntity)
{
string PropertyVaule = string.Empty;
Type tpEntity = obEntity.GetType();
System.Reflection.PropertyInfo[] pis = tpEntity.GetProperties();
var a=pis.FirstOrDefault(m=>m.Name==feildname);
if (a!=null)
{
object obj= a.GetValue(obEntity, null);
if (obj != null)
{
PropertyVaule = obj.ToString();
}
break;
}
return PropertyVaule;
}
/// <summary>
/// 利用反射根据对象和属性名为对应的属性赋值
/// </summary>
/// <param name="feildname"></param>
/// <param name="obEntity"></param>
/// <returns></returns>
public void SetValueByPropertyName(string feildname, Object obEntity,string Value)
{
Type tpEntity = obEntity.GetType();
System.Reflection.PropertyInfo[] pis = tpEntity.GetProperties();
var a=pis.FirstOrDefault(m=>m.Name==feildname);
if (a!=null)
{
a.SetValue(obEntity, Convert.ChangeType(Value,a.PropertyType),null);
return;
}
}
}
相关文章推荐
- 利用反射对对象属性赋值取值操作
- 遍历 Map 对象, 利用反射为 Class 对象的对应的属性赋值.
- C#利用反射获取对象属性值
- C#利用反射给实体属性赋值
- c# 利用反射动态给实体类对象赋值
- 反射应用之一:根据控件名、属性名进行取值和赋值
- 利用反射打印对象所有属性的工具类
- java使用反射给对象属性赋值的两种方法
- C#利用反射为属性赋值
- C#利用反射实现两个类的对象之间相同属性的值的复制
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- Android利用反射机制为实体类属性赋值
- C# 可以利用反射给只读属性赋值吗?
- C#利用反射获取对象属性值
- Java记录 -88- 利用反射机制调用对象的私有方法和属性
- 利用反射检查对象属性是否满足正则特
- 利用反射设置对象的属性(Property)
- 笔记—利用反射给对象赋值
- 利用发反射对对象进行赋值
- 利用反射机制,遍历POJO对象的各个字段名及属性