c#reflection来调用动态方法

时间:2013-09-23 13:57:21

标签: c# reflection

我已经看到了通过发送字符串来动态调用方法的各种反射示例。大多数示例显示了如何非常容易地动态设置类,方法和参数。我的要求略有不同,无法使其发挥作用。以下行是我将包含硬编码的内容。

Mailer.CallBack(parameters).Send();

Mailer是类,Callback是方法,parameters是参数,但我如何确保它在附加.send()的情况下动态调用它?< / p>

答案让我感到安慰,所以希望有人可以提供帮助。

史蒂夫。

1 个答案:

答案 0 :(得分:2)

所有这些意味着当你链接这样的方法时,你就是在第一个方法的结果上调用第二个方法。换句话说

Mailer.CallBack(parameters).Send();

应完全等同于

var callbackResult = Mailer.CallBack(parameters);
callbackResult.Send();

所以你应该能够使用反射做第一行的等效操作,然后正常进行第二次调用。

(换句话说,当你打电话给CallBack时,它没有意识到附加到它的.Send()CallBack做了它的事情,然后返回,然后在结果上调用.Send()。)