C#反射的使用

文章会介绍以下反射的常用方法:

1、通过反射获取指定类的指定方法进行调用

2、通过反射获取一个类中的字段或者属性批量赋值到另一个类的属性或字段中


(1)反射最简单的使用方法之一是通过获取类名和方法名来动态调用方法。直接上代码。

C#反射的使用_第1张图片
通过反射调用方法

若是没有参数直接写null即可,Invoke(object o,object[] obj),若是有参数则按正确的顺序写入object数组中便可。

(2)通过反射获取一个类中的字段或者属性批量赋值到另一个类的属性或字段中

在日常工作中可能会遇到一个场景:在类与类之间的字段或属性传值我们可能会简单使用以下例子

C#反射的使用_第2张图片

可能传递的字段少了这么写可能无所谓,但是当类的字段或者属性达到上百个呢,我们不可能每次都一个个写。所以在赋值字段名字相同的情况下我们可以使用反射进行赋值。我们可以随便创建三个简单的类。

C#反射的使用_第3张图片

比如说在字段名称一样的时候,我们要将Test2类中的数据传递到Medicament中,我们就可以写个静态公共方法将这两个类当成参数传递进去

C#反射的使用_第4张图片
属性传递给字段


属性传递给字段都说了,字段传递给字段就更大同小异了

C#反射的使用_第5张图片
字段传递给字段

然后可以在控制台运行测试,就会发现已经将Test2的值赋值过来了。

C#反射的使用_第6张图片

但是反射也是有使用的一些优缺点和限制的,以下也是引用其他博客不做太多解释:

https://www.cnblogs.com/CHNMurphy/p/8607752.html。

代码要自己敲一(亿)遍!不要总想着复制粘贴!!

你可能感兴趣的:(C#反射的使用)