【发布时间】:2015-07-23 09:13:13
【问题描述】:
我有以下示例代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.del = this.EventHandler; <-- This does not build
}
public void EventHandler(object sender, PropertyChangedEventArgs e)
{
}
public delegate void A(object sender, EventArgs e);
private A del;
}
它抱怨委托分配。我怀疑这是由于协方差/逆变问题,老实说这是一个我不完全理解的概念。
有什么方法可以构建此代码吗?对于具有任何事件参数(从 EventArgs 继承)的任何事件,我都需要一个通用处理程序。
【问题讨论】:
-
更改其中一个:EventHandler 方法中的
PropertyChangedEventArgs或委托中的EventArgs -
我需要一个通用处理程序来处理具有任何事件参数的任何事件(从 EventArgs 继承)。
-
然后把
PropertyChangedEventArgs改成EventArgs。
标签: c# .net delegates covariance contravariance