繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> Joys Code for Event Handler

Joys Code for Event Handler

2007-08-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:using System; namespace testform { /// /// Event source /// public class Bird { public Bird() { } public void Flying() { this.OnBirdEvent(BirdStatus.Flying); } public void Dead() { this.OnBirdEv...
关键字:Handler Event Code Joys for

using System;

namespace testform

{

///

/// Event source

///

public class Bird

{

public Bird()

{

}

public void Flying()

{

this.OnBirdEvent(BirdStatus.Flying);

}

public void Dead()

{

this.OnBirdEvent(BirdStatus.Dead);

}

public void Sleep()

{

this.OnBirdEvent(BirdStatus.Sleeping);

}

private void OnBirdEvent(BirdStatus s)

{

if(this.BirdEvent!=null)

{

this.BirdEvent(this,new BirdEventArgs(s));

}

}

public event BirdEventHandler BirdEvent;

}

public delegate void BirdEventHandler(object sender,BirdEventArgs e);

public class BirdEventArgs:EventArgs

{

private BirdStatus _s;

public BirdEventArgs(BirdStatus s)

{

this._s=s;

}

public BirdStatus Status

{

get

{

return this._s;

}

}

}

public enum BirdStatus

{

Flying,

Sleeping,

Dead

}

///

/// Event Target

///

public class Hunter

{

private Bird bird;

public Hunter()

{

bird=new Bird();

bird.BirdEvent+=new BirdEventHandler(this.OnWatch);

}

private void OnWatch(object sender,BirdEventArgs e)

{

switch(e.Status)

{

case BirdStatus.Flying:

this.Sleep();

break;

case BirdStatus.Dead:

this.FireBird();

break;

case BirdStatus.Sleeping:

this.KillBird();

break;

}

}

private void KillBird()

{

...

}

private void FireBird()

{

...

}

private void Sleep()

{

...

}

}

}

责任编辑:admin
相关文章