有没有办法将一个参数(或多个参数)传递给 CallMethodAction 行为?
有没有办法将参数(或多个参数)传递给 CallMethodAction
行为?
Is there a way to pass a parameter (or multiple params) to the CallMethodAction
behavior?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用 InvokeCommandAction 命令而不是使用 CallMethodAction:
希望有帮助
Try InvokeCommandAction a command instead of using CallMethodAction:
Hope it helps
经过一番反编译后发现,
CallMethodAction
确实支持调用带参数的方法。但是,CallMethodAction
对预期签名非常严格。方法必须符合以下条件:其中 args 参数可以是 EventArgs 的子类,因此允许传入(任意数量的)自定义参数。例如:
因此允许以下签名:
作为参考,这里是 CallMethodAction 中执行一致性检查的代码:
After some decompiling it turns out that
CallMethodAction
does support calling methods with parameters. However,CallMethodAction
is very strict on the expected signature. Methods must conform to the following:Where the args parameter can be a subclass of EventArgs, which therefore allows passing in (any number of) custom parameters. For instance:
Thus allowing for the following signature:
For reference, here's the code in CallMethodAction that performs the conformity check: