C\#표준 이벤트 스 트림 인 스 턴 스 코드

의 류 가격 변동,타 오 바 오 발표 이벤트 와 소비자 의 의 류 구 매 사건 흐름 촉발

public class EventStandard
  {
    public class Clothes {

      /// <summary>
      ///     
      /// </summary>
      public string Id { get; set; }

      /// <summary>
      ///     
      /// </summary>
      public string Name { get; set; }

      /// <summary>
      ///     
      /// </summary>
      private double _price;

      public double Price {
        get { return this._price; }
        set {
            PriceRiseHandler?.Invoke(this, new PriceEventArgs()
            {
              OldPrice = this._price,
              NewPrice = value
            });
          this._price = value;
        }
      }

      /// <summary>
      ///         
      /// </summary>
      public event EventHandler PriceRiseHandler;

    }

    /// <summary>
    ///                           
    /// </summary>
    public class PriceEventArgs : EventArgs
    {
      public double OldPrice { get; set; }
      public double NewPrice { get; set; }
    }

    public class TaoBao {
      /// <summary>
      ///     
      /// </summary>
      public void PublishPriceInfo(object sender, EventArgs e) {
        Clothes clothes = (Clothes)sender;
        PriceEventArgs args = (PriceEventArgs)e;
        if (args.NewPrice < args.OldPrice)
          Console.WriteLine($"  :           ,{clothes.Name}    {args.OldPrice - args.NewPrice} ,    !");
        else
          Console.WriteLine("  :            ,    ");
      }

    }

    public class Consumer
    {
      /// <summary>
      ///      
      /// </summary>
      public void Buy(object sender, EventArgs e)
      {
        Clothes clothes = (Clothes)sender;
        PriceEventArgs args = (PriceEventArgs)e;
        if (args.NewPrice < args.OldPrice)
          Console.WriteLine($"   :    {args.OldPrice},    {args.NewPrice},    !");
        else
          Console.WriteLine($"   :   ,     ");
      }
    }

    public static void Show()
    {
      Clothes clothes = new Clothes()
      {
        Id = "12111-XK",
        Name = "   ",
        Price = 128
      };
      //  :              
      clothes.PriceRiseHandler += new TaoBao().PublishPriceInfo;
      clothes.PriceRiseHandler += new Consumer().Buy;
      //    ,           
      clothes.Price = 300;
    }

  }
호출:

clothes.Price = 300; 
EventStandard.Show();

clothes.Price = 98; 
EventStandard.Show();

이상 은 C\#표준 이벤트 스 트림 인 스 턴 스 코드 의 상세 한 내용 입 니 다.C\#표준 이벤트 스 트림 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기