WPF解决异常“无法绑定到目标方法,因其签名或安全透明度与委托类型的签名或安全透明度不兼容。”

发布时间 2023-06-06 17:44:21作者: 治十三

WPF程序,MEF依赖注入。

1、方法定义。

[MessageTarget("HelloMessage")]
private int  HelloMessage(Object obj)
{}

加粗部分为坑。

2、方法调用。

ServiceLocator.Instance.Resolve<IMessageMediator>().SendMessage<Object>("HelloMessage", obj);

3、现象。

初始化实例时,这个特性标记的方法,由于内部封装会报错,它只支持void无返回值的方法。

由于是懒惰加载,只有运行时使用对应示例才会报错--“无法绑定到目标方法,因其签名或安全透明度与委托类型的签名或安全透明度不兼容”。

因为使用装饰器模式绑定XAML数据源,之后导致XAML界面在构造函数中,执行“InitializeComponent”方法报错。