1

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

Mailer.CallBack(parameters).Send();

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

答案让我无法理解,所以希望有人能提供帮助。

史蒂夫。

4

1 回答 1

2

当您像这样链接方法时,这意味着您正在对第一个方法的结果调用第二个方法。换句话说

Mailer.CallBack(parameters).Send();

应该完全等同于

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

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

(换句话说,当你调用 时CallBack,它不.Send()知道附加到它的那个。CallBack做它的事情,然后返回,然后.Send()在结果上被调用。)

于 2013-09-23T14:01:08.060 回答