Chr*_*ris 5 .net c# events compiler-errors
我尝试运行以下代码时遇到CS0079编译错误:
public delegate void MyClassEHandler(MyClassEParam param);
public class MyClassE
{
public static event MyClassEHandler Error
{
add
{
MyClassE.Error = (MyClassEHandler)Delegate.Combine(MyClassE.Error, value);
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
这些Delegate.Combine
意志会为你神奇地工作.