.NET 获取类内成员的名称,以字符串形式显示
需要做一个功能,显示类内的属性名和对应的值。比如有类
Public Class SupervisedParams
    Public TestMode As string
    Public Time As String
    Public TorquePV As Single
    Public PrsPV As Single
End Class
这里用了公共字段代替属性,因为VB.NET没有自动属性,必须处理get set 实在麻烦。
需要显示:TorquePV =2.3
PrsPV =3.2 之类。
但一般只能获取类内字段的值,却不能取得这个字段的字符串形式。
后来查到了方法,测试代码如下:
【取得字段名的字符串形式】
Public Shared Sub WriteLine(ByVal params As SupervisedParams)
Dim type As Type = params.GetTypeDim m() As MethodInfo = type.GetMethods【获取方法名】
For Each item In m
Debug.Print(item.Name)
NextDim pi() As PropertyInfo = type.GetProperties【获取属性名】
For Each item In pi
Debug.Print(item.Name)
NextDim fi() As FieldInfo = type.GetFields【获取字段名】
For Each item In fi
Debug.Print(item.Name)
Debug.Print(item.GetValue(params))【还可以方向取得该字段的值】
Next
End Sub
MethodInfo 等几个关键类属于System.Reflection
传说中的反射啊,好高大上。等忙完了系统学习学习。
.NET 获取类内成员的名称,以字符串形式显示的更多相关文章
- java反射获取类的成员函数,成员变量,构造函数
		
package com.imooc.reflect;import javax.sound.midi.Soundbank;import java.lang.reflect.Constructor;imp ...
 - [javaSE] 反射-获取类的成员属性和构造方法
		
成员属性和构造方法皆为对象,通过Class对象的方法可以得到 package com.tsh.reflect; import java.lang.reflect.Constructor; import ...
 - C++中怎么获取类的成员函数的函数指针?
		
用一个实际代码来说明. class A { public: staticvoid staticmember(){cout<<"static"<<endl;} ...
 - C# - 获取类中属性的名称
		
用反射控制的,不过获取属性名称的方法,用方法形式获取的,不知道消耗大不大 using System; using System.Collections.Generic; using System.Li ...
 - java 反射获取类的属性 类型 名称和值
		
/** * 获取属性类型(type),属性名(name),属性值(value)的map组成的list * */ private List getFiledsInfo(Object o){ Field[ ...
 - 通过class类获取类的成员变量和构造函数信息
 - 将从数据库中获取的数据 ,以HTML表格的形式显示
		
1.HTML页面 <body> <form id="form1" runat="server"> <div id="di ...
 - C++11类内static成员变量声明与定义
		
众所周知,将一个类内的某个成员变量声明为static型,可以使得该类实例化得到的对象实现对象间数据共享. 在C++中,通常将一个类的声明写在头文件中,将这个类的具体定义(实现)写在cpp源文件中. 因 ...
 - Java反射获取类和对象信息全解析
		
反射可以解决在编译时无法预知对象和类是属于那个类的,要根据程序运行时的信息才能知道该对象和类的信息的问题. 在两个人协作开发时,你只要知道对方的类名就可以进行初步的开发了. 获取类对象 Class.f ...
 
随机推荐
- Oracle EXPDP/IMPDP示例
			
待整理: 参考DAVE博客 http://blog.csdn.net/tianlesoftware/article/details/6260138
 - oracle跨平台数据迁移 expdp/impdp 字符集问题 导致ORA-02374 ORA-12899 ORA-02372
			
环境描述: 源数据库环境: 操作系统:Windows SERVER 2008R2 数据库版本:单实例 ORACLE 11.2.0.1 目标端数据库环境: 操作系统:redhat ...
 - Python全局解释器锁 -- GIL
			
首先强调背景: 1.GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定. 2.每个CPU在同一时间只能 ...
 - Spring Boot启动流程
			
基础准备 1,BeanPostProcessor:这个接口的作用在于对于新构造的实例可以做一些自定义的修改.比如如何构造.属性值的修改.构造器的选择等等 2,BeanFactoryPostProces ...
 - Linux发邮件
			
一.mail命令 1.配置 vim /etc/mail.rc 文件尾增加以下内容 set from=1968089885@qq.com smtp="smtp.qq.com"set ...
 - gradle构建工具
			
在使用android studio开发android程序时,as就是基于gradle进行构建的,我们只需要通过run就可以编译.打包.安装,非常方便,但是究竟gradle是什么呢? 一.java构建 ...
 - C# String.Format的格式限定符与Format方法将多个对象格式化一个字符串原理
			
Format方法将多个对象格式化成一个字符串Format方法解析格式字符串的原理: (1).格式字符串中的{0}会被替换成格式字符串之后的第一个参数,以此类推 (2).Format方法解析格式字符串时 ...
 - Android使用内容提供者实现增删改查操作
			
Android使用内容提供者实现增删改查操作 这里需要建立两个项目:SiYouShuJuKu(使用内容提供者暴露相关的操作),DQDYGApplication(使用内容解析者对第一个应用进行相关的解析 ...
 - android app性能优化大汇总
			
这里根据网络上各位大神已经总结的知识内容做一个大汇总,作为记录,方便后续“温故知新”. 性能指标: (1)使用流畅度: 图片处理器每秒刷新的帧数(FPS),可用来指示页面是否平滑的渲染.高的帧率可以 ...
 - javaweb的web.xml配置说明,初始化过程
			
[重点]初始化过程可知容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet 首先了解 ...