Event 事件

扫码查看

事件是建立在委托的基础之上的。

http://www.cnblogs.com/lystory/p/5085786.html

    public class 事件参数
{
public 事件参数(string s) { Text = s; }
public String Text { get; private set; } // readonly
} public class 事件发布者
{
/// <summary>
/// 申明一个委托
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void 委托1(object sender, 事件参数 e); /// <summary>
/// 申明一个委托型事件
/// </summary>
public event 委托1 事件1; public virtual void 执行(string msg)
{ ///如果事件被订阅(有订阅者)传信号给订阅者(这个信息是两个参数,object sender, 事件参数 e )
if (事件1 != null)
事件1(this, new 事件参数(msg));
}
} class Program
{
static void Main(string[] args)
{ 事件发布者 f = new 事件发布者(); ///订阅这个事件
f.事件1 += f_事件1; f.执行("帮我做一件事情"); Console.ReadLine(); } /// <summary>
/// 事件接收者
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
static void f_事件1(object sender, 事件参数 e)
{
Console.WriteLine("我是事件接收者:你给我的命令是:{0}", e.Text);
} }

运行结果:

Event 事件-LMLPHP

C#事件在编程中无处不在。我们的OnClick,其背后都是事件做出来的

观察者模式就是以事件为基础,还有多线程编程中,离不开事件。

理解了委托就能理解事件,事件是建立在委托的基础之上。

参考文档

http://www.cnblogs.com/reommmm/archive/2009/03/23/1419573.html

05-07 15:11
查看更多