【发布时间】:2013-12-03 09:19:28
【问题描述】:
我在 Prism 工作,CallerMember 属性不适用于我的代码。我有一个Close 方法,想知道Close 方法从哪里得到调用。通常使用CallerMember 属性标记的memberName 参数应该接收调用方法名称。但是订阅和取消订阅代码显示,这个 eventAggregator 有一些无效的参数。任何帮助将不胜感激。
private void Close(bool isOKCommand,[CallerMemberName] string memberName = "")
{
this.eventAggregator.GetEvent<ShowWarningMessageEvent>().Unsubscribe(this.Close);
if (isOKCommand)
{
//Doing some operations;
}
}
【问题讨论】:
-
是 Unsubscribe(this.Close) 不起作用或 memberName 变量始终为空,还是什么?
-
你使用哪个 .net 框架
-
@devhedgehog 新添加的“memberName”参数不允许编译代码。它显示“无效参数”。我对订阅和使用 CallerMember 属性没有任何问题。
-
这是 4.5 个人,否则他根本无法使用 CallerMemberName 并且您必须遇到方法重载问题,或者您必须以某种方式错误地调用 Close。看看我的回答。
-
这不是与
CallerMemberName相关的问题,您的Unsubscribeeventtaggregator 方法使用错误,请参阅Prism 文档了解如何取消订阅...
标签: c# wpf prism eventaggregator