经典代码,事件模式:EVent Model
using System;
namespace EventModel
{
/// <summary>
/// stock 的摘要说明。
/// </summary>
public class stock
{
public delegate void AskPriceChangeHandler(object sender,AskPriceChangedEventArgs e);
public event AskPriceChangeHandler AskPriceChanged;
object _askPrice;
public object AskPrice
{
set
{
_askPrice=value;
OnAskPriceChanged();
}
}
protected void OnAskPriceChanged()
{
AskPriceChanged(this,new AskPriceChangedEventArgs(_askPrice));
}
public stock()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}
public class AskPriceChangedEventArgs:EventArgs
{
private object _askPrice;
public AskPriceChangedEventArgs(object askPrice)
{
_askPrice=askPrice;
}
public object AskPrice
{
get
{
return _askPrice;
}
}
}
public class stockDisplay
{
public void AskPriceChanged(object aPrice)
{
Console.WriteLine("The new ask price is "+aPrice+" ");
}
}


}
使用这几个类:
using System;
namespace EventModel
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
stock sk=new stock();
sk.AskPriceChanged+=new EventModel.stock.AskPriceChangeHandler(sk_AskPriceChanged);
for(int i=0;i<100;i++)
sk.AskPrice=i;
}
private static void sk_AskPriceChanged(object sender, AskPriceChangedEventArgs e)
{
Console.WriteLine(e.AskPrice);
}
}
}


浙公网安备 33010602011771号