我有兩個C#文件: C#/委託不具有類型參數
EventDel.cs
:public delegate void EventDel(DocdEvent event);
HBE.cs
其中包含了下一個字段:public EventDel<ME> toCatchOne {get; set; }
它給我的下一個錯誤:
Delegate does not have type parameters.
我該如何解決它?
我有兩個C#文件: C#/委託不具有類型參數
EventDel.cs
:
public delegate void EventDel(DocdEvent event);
HBE.cs
其中包含了下一個字段:
public EventDel<ME> toCatchOne {get; set; }
它給我的下一個錯誤:
Delegate does not have type parameters.
我該如何解決它?
你的委託不似乎是通用的,試試這個裏面HBE.cs:
public EventDel toCatchOne {get; set; }
或者這裏面EventDel.cs:
public delegate void EventDel<HBE>(DocdEvent event);
EventDel
和EventDel<T>
兩種entierly不同的類型。它們不兼容。在你的情況下,EventDel
只接受DocdEvent
類型的一個參數。而類型EventDel<ME>
只接受類型爲ME
的參數(不管那是什麼)。
爲了使您的代碼的工作,請嘗試:
public EventDel<ME> toCatchOne {get; set; }
必須轉換成:
public EventDel toCatchOne {get; set; }
或修改你的第一個委託:
public delegate void EventDel(DocdEvent event);
到:
public delegate void EventDel(ME event);
在最後一種情況下,你仍然在使用兩種不同類型的代表,但如果你想一個代表轉換成另一種,使用構造函數:
EventDel d1 = ...;
EventDel<ME> d2 = new EventDel<ME>(d1);
刪除''所以它說'公共EventDel toCatchOne {get;組; }' –
2013-05-04 09:34:22