.net 使用反射查找所有公共虚拟方法并提供重写

.net 使用反射查找所有公共虚拟方法并提供重写,.net,reflection,overriding,.net,Reflection,Overriding,我有一个项目,我希望能够遍历一个类的实例,找到所有标记为public-virtual的方法。然后我想重写该类的实例,以便在调用该方法时可以调用另一组代码。我知道如何使用反射查找类中的所有公共方法,但我不知道如何重写虚拟方法 基本上,我给了一个代理对象来使用,当他们调用这个方法时,我想调用底层对象上的一个方法。我可以通过手动重写每个方法来实现这一点,但我希望使用更具动态性的方法。MethodBase有一个 好的,现在我需要一种方法来替换委托的方法。这意味着当有人调用它时,我想执行我的委托,将方法调

我有一个项目,我希望能够遍历一个类的实例,找到所有标记为public-virtual的方法。然后我想重写该类的实例,以便在调用该方法时可以调用另一组代码。我知道如何使用反射查找类中的所有公共方法,但我不知道如何重写虚拟方法

基本上,我给了一个代理对象来使用,当他们调用这个方法时,我想调用底层对象上的一个方法。我可以通过手动重写每个方法来实现这一点,但我希望使用更具动态性的方法。

MethodBase有一个


好的,现在我需要一种方法来替换委托的方法。这意味着当有人调用它时,我想执行我的委托,将方法调用中的所有参数传递给我的委托。@用户:发布一个新问题来提问。还可以看到Ok,所以现在我需要一种方法来替换委托的方法。这意味着当有人调用它时,我想执行我的委托,将方法调用中的所有参数传递给我的委托。有趣的问题。那将是一个相当棘手的问题。你想要这个做什么?
MethodBase m = typeof(MyClass).GetMethod("MyMethod");
if (m.IsVirtual)
  // yada-yada-yada...
typeof(MyClass)
    .GetMethods(BindingFlags.Public | BindingFlags.Instance)
    .Where(m => m.IsVirtual);