C# 自动识别处理类-反射示例

  • C# 自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)
  • C# 自动识别处理类-利用反射根据类名称获得相应类
  • C# 自动识别处理类-自动获取类属性,并取值、其赋值
  • C# 自动识别处理类-反射示例

反射可以使用字符串来调用相关类的相关属性、方法。

反射的核心是要获得类型,假设我们在类内部使用反射,可以直接使用 GetType() 获得本类的类型。

如上,调用本类中的 Calculate_XXX 方法,至于 XXX 是什么,由传入的 Key 决定。这其中有一个 this,表示当前对象的方法(因为不是静态方法,所以需要对象)。

如果不是调用方法,而是获得属性的话,使用类似如下:

我们也可以加载本程序集的其他类,执行该类的属性、方法,这个时候还需要实例化对象。

思路汇总:

  • 获取程序集。
  • 获取类型。
  • 利用 Activator.CreateInstance 实例化。

我们可以使用 System.Reflection.Assembly.Load("itpow") 获得其他程序集。

  • C# 自动识别处理类-获取多态类(子类、派生类)的运行时类名称(类型)
  • C# 自动识别处理类-利用反射根据类名称获得相应类
  • C# 自动识别处理类-自动获取类属性,并取值、其赋值
  • C# 自动识别处理类-反射示例

你可能感兴趣的