[英]C# CS0079 Event Handling Compile Error
我嘗試運行以下代碼時遇到CS0079編譯錯誤:
public delegate void MyClassEHandler(MyClassEParam param);
public class MyClassE
{
public static event MyClassEHandler Error
{
add
{
MyClassE.Error = (MyClassEHandler)Delegate.Combine(MyClassE.Error, value);
}
}
}
錯誤:
CS0079:事件
MyClassE.Error
只能出現在+ =或 - =的左側
搜索過但無法弄清楚如何解決它。
ADDED:if(MyClass.Error!= null)或MyClass.Error(null,null);
得到相同的CS0079錯誤。
CS0079:事件
MyClassE.Error
只能出現在+ =或 - =的左側
誰可以幫我這個事?
您無法設置事件,只需在其上添加或刪除處理程序即可。 所以,正如錯誤所說,你應該這樣做:
public delegate void MyClassEHandler(MyClassEParam param);
public static event MyClassEHandler Error
{
add
{
MyClassE.Error += value;
}
remove
{
MyClassE.Error -= value;
}
}
而且Delegate.Combine
會為你神奇地工作。
試試這個
public delegate void MyClassEHandler(MyClassEParam param);
static MyClassEHandler error;
public static event MyClassEHandler Error
{
add
{
MyClassE.error += (MyClassEHandler)Delegate.Combine(MyClassE.Error, value);
}
remove
{
MyClassE.Error -= (MyClassEHandler)Delegate.Combine(MyClassE.Error, value);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.