爱吃酸菜鱼的猫

C# 关于反射Reflection

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

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

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

 

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

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

 

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

 

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

 

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

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

 

posted on 2020-05-31 15:06  爱吃酸菜鱼的猫  阅读(163)  评论(0编辑  收藏  举报

导航