获取一个对象的属性/属性值,以及动态给属性赋值
生活随笔
收集整理的这篇文章主要介绍了
获取一个对象的属性/属性值,以及动态给属性赋值
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
//定义类public class MyClass{public int Property1 { get; set; }public string Property2 { get; set; }} MyClass tmp_Class = new MyClass();tmp_Class.Property1 = 2;tmp_Class.Property2 = "aq23iu";Type type = tmp_Class.GetType(); //获取类型System.Reflection.PropertyInfo propertyInfo = type.GetProperty("Property1"); //获取指定名称的属性
//无法指定属性的名称时,这样使用GetProperties()函数 遍历 得到每个属性的名称(字符串)
Type t = tmp_Class.GetType();
PropertyInfo[] propertyInfoArr = t.GetProperties();
foreach (PropertyInfo item in propertyInfoArr)
{
PropertyInfo propertyInfo = t.GetProperty(item.Name); //获取指定名称的属性
var value = propertyInfo.GetValue(tmp_Class, null); //获取属性值
Console.WriteLine(value);
}
int value_Old = (int)propertyInfo.GetValue(tmp_Class, null); //获取属性值 Console.WriteLine(value_Old);propertyInfo.SetValue(tmp_Class, 5, null); //给对应属性赋值int value_New = (int)propertyInfo.GetValue(tmp_Class, null);Console.WriteLine(value_New);
//无法指定属性的名称时,这样使用GetProperties()函数 遍历 得到每个属性的名称(字符串)
Type t = tmp_Class.GetType();
PropertyInfo[] propertyInfoArr = t.GetProperties();
foreach (PropertyInfo item in propertyInfoArr)
{
PropertyInfo propertyInfo = t.GetProperty(item.Name); //获取指定名称的属性
var value = propertyInfo.GetValue(tmp_Class, null); //获取属性值
Console.WriteLine(value);
}
int value_Old = (int)propertyInfo.GetValue(tmp_Class, null); //获取属性值 Console.WriteLine(value_Old);propertyInfo.SetValue(tmp_Class, 5, null); //给对应属性赋值int value_New = (int)propertyInfo.GetValue(tmp_Class, null);Console.WriteLine(value_New);
参考:http://www.bitscn.com/pdb/dotnet/200804/138760.html
转载于:https://www.cnblogs.com/jcdd-4041/p/4184997.html
总结
以上是生活随笔为你收集整理的获取一个对象的属性/属性值,以及动态给属性赋值的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【转】每天一个linux命令(50):c
- 下一篇: ssh框架优缺点