using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace AspNetTest.Common
{
/// <summary>
/// Define_Delegate_CatMouse 的摘要说明。
/// </summary>
public delegate void ShoutEventHandler();
public class Define_Delegate_CatMouse : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
Cat cat = new Cat();
Mouse mouse1= new Mouse(cat, "老鼠1");
Mouse mouse2= new Mouse(cat, "老鼠2");
Master master= new Master(cat);
cat.Shout();
// 在此处放置用户代码以初始化页面
}
Web 窗体设计器生成的代码
}
public abstract class ActionSubject
{
public ShoutEventHandler OnShout;
protected void AffectResponse()
{
if(this.OnShout!=null)
{
this.OnShout();
}
}
}
public class Cat : ActionSubject
{
public void Shout()
{
HttpContext.Current.Response.Write("猫大叫!<br>");
AffectResponse();
}
}
public abstract class AffectSubject
{
public AffectSubject(ActionSubject actionSubject)
{
actionSubject.OnShout += new ShoutEventHandler(Response);
}
public abstract void Response();
}
public class Master : AffectSubject
{
public Master(ActionSubject actionSubject) : base(actionSubject)
{
}
public override void Response()
{
HttpContext.Current.Response.Write("主人醒了!<br>");
}
}
public class Mouse : AffectSubject
{
private string name;
public Mouse(ActionSubject actionSubject, string name) : base(actionSubject)
{
this.name = name;
}
public override void Response()
{
HttpContext.Current.Response.Write(this.name + "跑!<br>");
}
}
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace AspNetTest.Common
{
/// <summary>
/// Define_Delegate_CatMouse 的摘要说明。
/// </summary>
public delegate void ShoutEventHandler();
public class Define_Delegate_CatMouse : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
Cat cat = new Cat();
Mouse mouse1= new Mouse(cat, "老鼠1");
Mouse mouse2= new Mouse(cat, "老鼠2");
Master master= new Master(cat);
cat.Shout();
// 在此处放置用户代码以初始化页面
}
Web 窗体设计器生成的代码
}
public abstract class ActionSubject
{
public ShoutEventHandler OnShout;
protected void AffectResponse()
{
if(this.OnShout!=null)
{
this.OnShout();
}
}
}
public class Cat : ActionSubject
{
public void Shout()
{
HttpContext.Current.Response.Write("猫大叫!<br>");
AffectResponse();
}
}
public abstract class AffectSubject
{
public AffectSubject(ActionSubject actionSubject)
{
actionSubject.OnShout += new ShoutEventHandler(Response);
}
public abstract void Response();
}
public class Master : AffectSubject
{
public Master(ActionSubject actionSubject) : base(actionSubject)
{
}
public override void Response()
{
HttpContext.Current.Response.Write("主人醒了!<br>");
}
}
public class Mouse : AffectSubject
{
private string name;
public Mouse(ActionSubject actionSubject, string name) : base(actionSubject)
{
this.name = name;
}
public override void Response()
{
HttpContext.Current.Response.Write(this.name + "跑!<br>");
}
}
}