C#/Delegate没有类型参数
我有两个C#文件:C#/Delegate没有类型参数,c#,delegates,C#,Delegates,我有两个C#文件: EventDel.cs: public delegate void EventDel(DocdEvent事件); HBE.cs其中包含下一个字段: public EventDel toCatchOne{get;set;} 它给了我下一个错误: 委托没有类型参数。 如何解决此问题?您的学员似乎不是泛型学员,请在HBE.cs内尝试以下内容: public EventDel toCatchOne {get; set; } 或者在EventDel.cs中: public
EventDel.cs
:
public delegate void EventDel(DocdEvent事件);
HBE.cs
其中包含下一个字段:
public EventDel toCatchOne{get;set;}
委托没有类型参数。
如何解决此问题?您的学员似乎不是泛型学员,请在HBE.cs内尝试以下内容:
public EventDel toCatchOne {get; set; }
或者在EventDel.cs中:
public delegate void EventDel<HBE>(DocdEvent event);
public delegate void EventDel(DocdEvent事件);
EventDel
和EventDel
是两种完全不同的类型。它们不兼容。在您的情况下,EventDel
只接受一个类型为DocdEvent
的参数。类型EventDel
只接受类型为ME
的参数(不管是什么)
要使代码正常工作,请尝试:
public EventDel<ME> toCatchOne {get; set; }
或修改您的第一个代理:
public delegate void EventDel(DocdEvent event);
进入:
在最后一种情况下,您仍然使用两种不同类型的委托,但如果要将一个委托转换为另一个委托,请使用构造函数:
EventDel d1 = ...;
EventDel<ME> d2 = new EventDel<ME>(d1);
eventdeld1=。。。;
EventDel d2=新的EventDel(d1);
删除
使其显示public EventDel toCatchOne{get;set;}
public delegate void EventDel(ME event);
EventDel d1 = ...;
EventDel<ME> d2 = new EventDel<ME>(d1);