1

我正在尝试创建一个字典来将枚举映射到具有相同签名的一组事件。我写 :

public enum Events {Insert, Update, Delete};

// this part makes errors
Dictionary<Events,EventHandler<T>> EventsDic = new Dictionary<Events,EventHandler<T>>()
{
     { Events.Insert , this.ItemInserted}
};

怎么了 ?

4

1 回答 1

1

问题是T必须用类型替换,因为您要声明一个变量。T必须是value字典中的类型,或者在您的特定情况下,事件参数的类型。既然你特别说你想存储事件,T应该是好的旧的EventArgs. 您的代码应如下所示:

Dictionary<Events,EventHandler<EventArgs>> EventsDic = new Dictionary<Events,EventHandler<EventArgs>>()
{
     { Events.Insert , this.ItemInserted}
};
于 2012-09-30T05:34:35.033 回答