在这篇文章中,我们将用C#示例讨论一下反射。在C#中反射提供了可以描述程序集、模块和类型的对象。你可使用反射自动创建一个类型的实例,绑定类型到已存的对象上,或是从现有对象获取类型并调用其方法或访问其字段和属性。在这篇文章中,我们基本是讨论反射是什么,如何执行反射,最后,我们将探讨什么时候使用反射。
什么是反射?
当你想要确定或是检查程序集的内容的时候,就需要反射了;在这里,内容就是指程序集的元数据,像程序集中的方法是什么,程序集中的属性是什么,它们是public还是private,等等。
例如,反射的最大实现之一就是Visual Studio本身。假如,在VS中,我们创建了一个String类的对象,当我们输入obj.时VS智能感应会显示出该对象所有的属性,方法,字段等等,如下图所示那样。由于反射的存在,这成为了可能。
所以,基本上说来,反射会检查程序庥并显示程序集中的元数据。现在,我希望你应该理解了反射的定义。让我们继续进行并理解如何在C#中实现反射。
如何实现反射
现在我们将写一个简单的例子来实现反射。
第一步,创建一个名称为ReflectionDemo的console应用程序。在这个console应用程序中,我们会添加一个名称为SomeClassLibrary的类库。
一旦添加了类库项目,你的方案就像下面所示那样:
标签:类库,反射,Reflection,C#,程序,对象,我们 From: https://www.cnblogs.com/chenlight/p/16990685.html