欢迎光临散文网 会员登陆 & 注册

学习记录-反射相关

2023-04-08 18:35 作者:lijinbia  | 我要投稿

一些基本概念 关于Type类

object类中的getType方法

3中方法来获取type 1.参数名.getType() 2.typeof(类名) 3.Type.getType("类名") 注意:第三种方法里传入的类名需要包含其命名空间 Type是一个类,这些方法可以看作在实例对应的type对象

如果这几种获得type方法的目标对象都是同一个类,或结构体,那么所得到的type对象指向的是都是同一个

得到程序集信息,不知道有什么用

获得指定类中的所有【公共】成员 需要引入命名空间System.Reflection

获取公共构造函数

getConstructor传入Type数组,无参时数组长度为0 执行构造函数使用invoke括号内传入object数组,无参时传null invoke方法的返回值是object类型,使用as方法转换为对应类后,可以完成对该类对象的实例化

因为getConstructor方法传入的参数是type数组,数组中内容应为type对象,故传入的数组内容为 typeof(int)之类的type对象

获取指定类的公共成员【变量】 同时,这里给定了方法去得到指定名称的公共成员变量 对象.getField(string)返回值是FieldInfo类型

通过FieldInfo中提供方法GetValue来获得其中变量的值 (just 获得)

通过SetValue(类对象,值)来修改类对象中的目标变量值 (图中的infoJ在上方已经说明了操作的是test对象中的j变量)

获取其它类中的公共成员方法并执行 此方法中进行操作方法的invoke对象第一个参数是说明哪一个对象要执行这个方法 -图片内容来自【唐老狮】

学习记录-反射相关的评论 (共 条)

分享到微博请遵守国家法律