C# 关于反射Reflection

2021-03-03 06:26

阅读:503

标签:创建   方法   mic   alt   inf   generic   sys   set   png   

1、反射是System.Reflection命名空间,是微软提供的一个帮助类库。

优点:动态,减少依赖,可破坏单例,是普通方法无法做到的。缺点:代码量比较大,容易出错,有较大的性能损失。

2、反射有这么几个使用步骤 :1)动态加载dll ;2)获取类型;3)创建实例;4)使用实例

技术图片

 

 3、关于反射获取方法,并使用方法

获取类型之后,可以type.GetMethod()获取方法,并使用。例子如截图

技术图片

 

 4、调用泛型方法:需要使用MakeGenericMethod指定泛型方法的类型,然后才能Invoke调用

技术图片

 

 5、注意,当反射调用泛型类中泛型方法时,我们在获取泛型类型时候,要使用占位符。注意看一下红框标注的。(因为泛型的类型参数实际上就是一个占位符)

技术图片

 

 6、可以根据类型获取类型里面的属性type.GetProperties(),也可根据类型获取类型里面的字段type.GetFields()

并通过getValue和setValue两个方法进行获取值和赋值。

技术图片

 

C# 关于反射Reflection

标签:创建   方法   mic   alt   inf   generic   sys   set   png   

原文地址:https://www.cnblogs.com/wzdany/p/13018964.html


评论


亲,登录后才可以留言!