一、什么是C#反射(Reflection)
定义:属性提供了一种将元数据或声明性信息与代码(程序集、类型、方法、属性等)关联的强大方法。
当一个属性与一个程序实体相关联后,可以使用一种叫做 反射
反射是C#提供的一种强大机制,它允许在程序运行时获取关于程序集、类型和成员的信息,并且可以动态地创建类型的实例、调用方法和访问属性,而无需在编译时就确定这些信息。这种能力使得程序在运行时具有更大的灵活性和可扩展性。通过反射,可以执行以下主要操作:
- 动态创建类型的实例:可以使用反射动态地创建并初始化类型的对象。
- 调用方法和访问属性:可以在运行时检查类型的方法和属性,并动态地调用它们。
- 获取类型信息:可以获取关于程序集、类型和成员的详细信息,这对于在运行时进行类型检查和动态行为调整非常有用。