有人可以解释一下这段代码在做什么和如何工作?
RoleEnvironment.Chaning += RoleEnvironmentChaning;
private void RoleEnvironmentChanaing(object sender, RoleEnvironmentchaningnEventArgs e)
{
......
}
基本上,如果你能告诉我c#.net中事件处理的工作原理,将不胜感激。 感谢。
答案 0 :(得分:2)
基本上就是说:只要RoleEnviroment决定触发“更改”事件,就调用该方法。 (我认为它应该是根据你的代码改变而不是Chaning或Chanaing。)
换句话说,C#中的事件是publisher/subscriber或observer模式的实现。
有关详细信息,请参阅我的article on events and delegates。
答案 1 :(得分:2)
让我们暂时忘掉C#并考虑以下场景。 屏幕上有一个您希望用户单击的按钮,您不知道用户何时单击该按钮,您也不想经常检查用户是否单击了该按钮。您想要做的是在用户最终点击按钮时运行一些自定义代码。
欢迎参加活动或代表。
我们来看看按钮。 Button有一个Click事件,您可以将自定义代码挂钩到该事件上。 即。
//This happens in the designer
Button button = new Button();
button.Click += new EventHandler(YourMethod);
点击按钮后,现在将调用您的方法。
单击按钮会发生什么?有人会检查是否有订阅者
if(Click != null)
{
Click(this, someEventArguments);
}
答案 2 :(得分:0)