海鸥航迹

学习之笔记,好文之收集。

导航

经典代码,事件模式: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);

        }

    }

}

posted on 2004-09-15 11:28  海天一鸥  阅读(1938)  评论(1)    收藏  举报