如何理解这段关于C#事件的话

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:19:06
“事件本身其实是以委托的形式存放在类的定义当中,当它们发生的时候,对象回调这个委托。如果我们写好一个方法,然后传递给这个委托,那么它就会做出我们希望它做的事情。”
最好能举例说明这一段话的意思。

您好,

C# 中事件的确是比较难以理解,我从一个小程序来说吧。

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Console.Write("Please input a number:");

//声明MainMethod类的一个实例
MainMethod m = new MainMethod();

//把我们的方法挂到 m 的NumberAdded事件上
//请注意这里使用了 MainMethod.EventDelegate 这样的方法
//来声明这个事件委托,因为委托也是一种类。
//在类中声明一个委托,就像声明了一个嵌套的类。
m.NumberAdded += new MainMethod.EventDelegate(OutputResult);

//转换用户输入,并调用Add方法相加
m.Add(int.Parse(Console.ReadLine()));

Console.ReadKey(false);
}

//这个是我们的事件处理函数。
static void OutputResult(object sender, EventArgs e)
{