using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Text;
// N:1调用
public delegate void DataChangedHandler(int increment);
// 操作实现,定义了数据计算方法
public class CounterOperaotr
{
public DataChangedHandler Increased;
public void Add(int data) { Increased(data); }
public void Substract(int data) { Increased(-1 * data); }
}
// 操作引用,有操作引用实体及数据源
public class Counter
{
public int Data;
// 接收广播
public Counter(CounterOperaotr counterOperator)
{
counterOperator.Increased += ChangeData;
}
public void ChangeData(int increment){
Data += increment;
}
}
// 2号
public class Counter2
{
public int Data;
// 接收广播
public Counter2(CounterOperaotr counterOperator)
{
counterOperator.Increased += ChangeData;
}
public void ChangeData(int increment){
Data += increment;
}
}
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Test());
}
public string Test()
{
// 操作类
CounterOperaotr countoperator = new CounterOperaotr();
// 操作类的客户
Counter counter = new Counter(countoperator);
// 客户2
Counter2 counter2 = new Counter2(countoperator);
countoperator.Add(12);
countoperator.Substract(10);
StringBuilder sb = new StringBuilder();
sb.AppendLine(counter.Data.ToString());
sb.AppendLine(counter2.Data.ToString());
return sb.ToString();
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Text;
// N:1调用
public delegate void DataChangedHandler(int increment);
// 操作实现,定义了数据计算方法
public class CounterOperaotr
{
public DataChangedHandler Increased;
public void Add(int data) { Increased(data); }
public void Substract(int data) { Increased(-1 * data); }
}
// 操作引用,有操作引用实体及数据源
public class Counter
{
public int Data;
// 接收广播
public Counter(CounterOperaotr counterOperator)
{
counterOperator.Increased += ChangeData;
}
public void ChangeData(int increment){
Data += increment;
}
}
// 2号
public class Counter2
{
public int Data;
// 接收广播
public Counter2(CounterOperaotr counterOperator)
{
counterOperator.Increased += ChangeData;
}
public void ChangeData(int increment){
Data += increment;
}
}
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Test());
}
public string Test()
{
// 操作类
CounterOperaotr countoperator = new CounterOperaotr();
// 操作类的客户
Counter counter = new Counter(countoperator);
// 客户2
Counter2 counter2 = new Counter2(countoperator);
countoperator.Add(12);
countoperator.Substract(10);
StringBuilder sb = new StringBuilder();
sb.AppendLine(counter.Data.ToString());
sb.AppendLine(counter2.Data.ToString());
return sb.ToString();
}
}