小编Jon*_* M.的帖子

用C#动态编写一个类

是否可以从其他类中包含的方法动态组合一个类?

例如.A,B和C类具有公共方法,可以轻松识别它们.它们需要被提取并添加到D类.D类,然后包含所有实现逻辑,可以进一步传递到一个系统,该系统只接受D类的单个实例并动态地将这些方法绑定到其他函数.

要清楚,这不是我正在寻找的继承.我实际上是在声明需要将具有不同名称的方法填充到一个类中.我传递给它的系统理解这些命名约定并动态绑定它们(这对我来说是一个黑盒子).

我将沿着从A,B和C中提取方法的路径,将它们与内存中的D类源动态组合,并将它们编译为新的D类,然后创建D的实例并将其向前传递.

public class A{  public void EXPORT_A_DoSomething(){} }
public class B{  public void EXPORT_B_DoSomethingElse(){}}
public class C{  public void EXPORT_C_DoAnything(){}}
 //should become
public class D{ 
          public void EXPORT_A_DoSomething(){} 
          public void EXPORT_B_DoSomethingElse(){}
          public void EXPORT_C_DoAnything(){}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法从A,B和C类中提取MethodInfos,并以某种方式直接将它们附加到D类?如果是这样的话?

c# reflection dynamic

7
推荐指数
1
解决办法
360
查看次数

标签 统计

c# ×1

dynamic ×1

reflection ×1