我来到了创建一个订阅事件的简单方法的地方。 我想知道如果我不止一次将它包括在内会发生什么。
示例:
//This method will be launched everytime a TabSelection Event fires...
public void SampleMethod()
{
this.ctlSample.gridView.SelectionChanged += gridView_SelectionChanged;
}
可能存在Stackoverflow异常吗?比如,他是否重复将信息写入内存,或者运行时是否足够聪明以忽略它?
答案 0 :(得分:0)
当您的活动被调用时,您的方法gridView_SelectionChanged
将被多次执行。
这是您可以自己测试并发现非常简单的事情之一。
public static event EventHandler TestEvent;
public static void Main(string[] args)
{
TestEvent += Program_TestEvent;
TestEvent += Program_TestEvent;
TestEvent += Program_TestEvent;
TestEvent(null, EventArgs.Empty);
}
private static void Program_TestEvent(object sender, EventArgs e)
{
Console.WriteLine("EVENT");
}
//output:
//EVENT
//EVENT
//EVENT