我一直在努力记住如何在C#中编写事件和事件处理程序一段时间。每当我想在互联网上引用教程时,他们往往都很冗长。
问题是如何在C#中编写事件和事件处理程序?你有一个代码示例,很容易说明如何写这样的吗?
答案 0 :(得分:13)
他们不必冗长:
// declare an event:
public event EventHandler MyEvent;
// raise an event:
var handler = MyEvent;
if(handler != null) handler(this, EventArgs.Empty);
// consume an event with an anon-method:
obj.MyEvent += delegate { Console.WriteLine("something happened"); };
// consume an event with a named method:
obj.MyEvent += SomeHandler;
void SomeHandler(object sender, EventArgs args) {
Console.WriteLine("something happened");
}
麻烦的是什么?
答案 1 :(得分:1)
一旦你胃口大开,试试这个:
对于VS2005: 如何:发布符合.NET Framework准则的事件(C#编程指南) http://msdn.microsoft.com/en-us/library/w369ty8x(v=vs.80).aspx
对于Visual Studio 11: http://msdn.microsoft.com/en-us/library/w369ty8x(v=vs.110).aspx