C#类的属性遍历及属性值获取
1、定义一个类
public class Person
{public string Name { get; set; }public int ID { get; set; }
}
2、获取属性
方法一、定义一个类的对象获取
Person p = new Person();
foreach (System.Reflection.PropertyInfo info in p.GetType().GetProperties())
{Console.WriteLine(info.Name);
}
方法二、通过类获取
var properties = typeof(Person).GetProperties();
foreach (System.Reflection.PropertyInfo info in properties)
{Console.WriteLine(info.Name);
}
3、通过属性名获取对象属性值
p.Name = "张三";
var name = p.GetType().GetProperty("Name").GetValue(p, null);
Console.WriteLine(name);
4、完整代码及结果显示
var properties = typeof(Person).GetProperties();
foreach (System.Reflection.PropertyInfo info in properties)
{Console.WriteLine(info.Name);
}
Console.WriteLine("另一种遍历属性的方法:");Person p = new Person();
foreach (System.Reflection.PropertyInfo info in p.GetType().GetProperties())
{Console.WriteLine(info.Name);
}Console.WriteLine("通过属性值获取属性:");p.Name = "张三";
var name = p.GetType().GetProperty("Name").GetValue(p, null);
Console.WriteLine(name);
Console.ReadLine();
Type t = tc.GetType();//获得该类的Type
//再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了
foreach (PropertyInfo pi in t.GetProperties
{
object value1 = pi.GetValue(tc, null));//用pi.GetValue获得值
string name = pi.Name;//获得属性的名字,后面就可以根据名字判断来进行些自己想要的操作
//获得属性的类型,进行判断然后进行以后的操作,例如判断获得的属性是整数
if(value1.GetType() == typeof(int))
{
//进行你想要的操作
}
}
public int Pid
{
get { return pid; }
set { pid = value; }
}
//****************
public void InitialProperty()//初始化设定
{
System.Reflection.PropertyInfo[] properties = this.GetType().GetProperties();
foreach(var v in properties)
{
string type= v.PropertyType.Name;
if (type=="String")
{
v.SetValue(this,"456",null);
}
else if(type=="Bitmap")
{
v.SetValue(this, new Bitmap(Image.FromFile("1.png")), null);
}
}
}
C#类的属性遍历及属性值获取相关推荐
- 2020.10.25 对象的创建 利用构造函数创建对象 遍历对象属性 遍历函数属性和属性数值for in 内置对象
输出遵循变量的值就近原则 对象创建方法 : 第一种 var obj = { uname:'dengzhu',//属性的创建,多个属性创建之间用逗号隔开 sex: male; sayHi: functi ...
- java循环遍历类属性_java循环遍历类属性 get 和set值方法
//遍历sqspb类 成员为String类型 属性为空的全部替换为"/" Field[] fields = sqspb.getClass().getDeclaredFields() ...
- java set循环取值_java循环遍历类属性 get 和set值方法
//遍历sqspb类 成员为String类型 属性为空的全部替换为"/" Field[] fields = sqspb.getClass().getDeclaredFields() ...
- java中遍历实体类,获取属性名和属性值
方式一(实体类): //java中遍历实体类,获取属性名和属性值public static void testReflect(Object model) throws Exception{for (F ...
- java遍历一个类的属性名,java遍历对象属性
java对象动态添加属性,Class对象和Java反射机制,java遍历对象属性,js对象动态添加属性 java 对象动态添加属性,Class对象和Java反射机制,java遍历对象属性,js对象动态 ...
- 类选择器选择非唯一属性无法精确取值的问题
类选择器选择非唯一属性无法精确取值的问题 一.总结 一句话总结:因为做的操作并不是精确选取,因为执行了两次选择器,所以肯定不对啊. 二.类选择器选择非唯一属性无法精确取值的问题 1.截图 2.代码 1 ...
- 定义一个Traingle类用来刻画“三角形”,要求:Trangle类具有类型为double的三个边以及周长、面积属性,具有一个boolean型的属性,该属性的值为true时代表三个边属性能构成一个三角
定义一个Traingle类用来刻画"三角形",要求:Trangle类具有类型为double的三个边以及周长.面积属性,具有一个boolean型的属性,该属性的值为true时代表三个 ...
- jQuery属性遍历、HTML操作
jQuery 拥有可操作 HTML 元素和属性的强大方法. jQuery 遍历函数 jQuery 遍历函数包括了用于筛选.查找和串联元素的方法. .add() 将元素添加到匹配元素的集合中. . ...
- Python 类—类属性(私有属性、公有属性、实例属性、局部变量)类方法(实例方法、静态方法)
1. 创建类 类是对某个对象的定义,它包含有关对象动作方式的信息,包括它的名称.方法.属性和事件.类不存在于内存中,因此它本身并不是对象.当程序运行需要引用类的代码时,就会在内存中创建一个类的新实例, ...
最新文章
- [置顶] Android输入输出系统之TouchEvent流程
- IO-1(Java IO、File类)
- flash 语法 入门
- 什么是 Angular 的多级注入器
- 我大学期间看的好书推荐
- memcache的学习路线图
- 1756冗余_AB冗余模块1756-RM
- linux mutex 数量上限,互斥量mutex
- Android 侧边栏快速索引(点击索引、滑动索引),通讯录样式
- html转义字符箭头,HTML特殊字符显示(常用到的特殊符号,箭头相关,数学相关,标点,符号相关等)...
- 一键重装系统后蓝屏怎么修复
- TypeError: torch.FloatTensor is not a Module subclass
- 国科大学习资料--人工智能原理与算法-第十四次作业解析(学长整理)
- 使用计算机的安全事项,电脑安全使用注意事项
- CC3200——中断优先级
- Openshift 学习一(搭建Openshift环境)
- IOS 内购IAP 自动订阅收据验证返回结构体
- php常用的数组相关的函数及面向对象
- 光标怎么设置sap_设置placeholder光标
- WWW2020 GNN的一些总结 PPT
热门文章
- python学习-字符串格式化
- 安卓手机管理器_电脑文件快速搜索有everything,那手机呢?
- java home not set_Error: JAVA_HOME is not set and could not be found.
- python soup提取叶子标签_python 利用beautifulSoup提取页面多个标签的文本内容
- msgpack pack php,msgpack_pack和redis的诡异事
- 他从零开始学Python,25岁拥有480000粉丝:成功就靠这3点!
- java 对象调用_java 对象调用
- 用友t3服务器文件丢失,用友T3软件在T3用友通标准版恢复账套时在备份的文件中找不到要恢复的文件,如何解决?-用友T3...
- java 安全库_国家信息安全漏洞库
- vue项目开发实战案例_Vue、Spring Boot开发小而完整的Web前后端分离项目实战02