zoukankan      html  css  js  c++  java
  • 《C#高级编程》事件的示例代码

    运行结果:

    Program.cs

     1 using System;
     2 
     3 namespace Wrox.ProCSharp.Delegates
     4 {
     5     class Program
     6     {
     7         static void Main()
     8         {
     9             var dealer = new CarDealer();
    10 
    11             var michael = new Consumer("Michael");
    12             dealer.NewCarInfo += michael.NewCarIsHere;
    13 
    14             dealer.NewCar("Mercedes");
    15 
    16             var nick = new Consumer("Nick");
    17             dealer.NewCarInfo += nick.NewCarIsHere;
    18 
    19             dealer.NewCar("Ferrari");
    20 
    21             dealer.NewCarInfo -= michael.NewCarIsHere;
    22 
    23             dealer.NewCar("Toyota");
    24 
    25             Console.Read();
    26         }
    27     }
    28 }

    CarDealer.cs

     1 using System;
     2 
     3 namespace Wrox.ProCSharp.Delegates
     4 {
     5     public class CarInfoEventArgs : EventArgs
     6     {
     7         public CarInfoEventArgs(string car)
     8         {
     9             this.Car = car;
    10         }
    11 
    12         public string Car { get; private set; }
    13     }
    14 
    15     public class CarDealer
    16     {
    17         public event EventHandler<CarInfoEventArgs> NewCarInfo;
    18 
    19         public void NewCar(string car)
    20         {
    21             Console.WriteLine("CarDealer, new car {0}", car);
    22             if (NewCarInfo != null)
    23             {
    24                 NewCarInfo(this, new CarInfoEventArgs(car));
    25             }
    26         }
    27     }
    28 }

    Consumer.cs

     1 using System;
     2 
     3 namespace Wrox.ProCSharp.Delegates
     4 {
     5     public class Consumer
     6     {
     7         private string name;
     8 
     9         public Consumer(string name)
    10         {
    11             this.name = name;
    12         }
    13 
    14         public void NewCarIsHere(object sender, CarInfoEventArgs e)
    15         {
    16             Console.WriteLine("{0}: car {1} is new", name, e.Car);
    17         }
    18     }
    19 }
  • 相关阅读:
    Solr多核的配置
    Solr开发参考文档(转)
    Solr使用solr4J操作索引库
    Solr和IK分词器的整合
    Solr与mmseg4J的整合
    Lucene实例教程
    Lucene简介
    PHP实现大文件的上传设置
    图片上传预览功能实现
    Logstash 安装和使用
  • 原文地址:https://www.cnblogs.com/paullam/p/3841755.html
Copyright © 2011-2022 走看看