Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2013/12/18 8:06:16
一个C#高级编程中的事件,DEMO,实例_.net资料_编程技术

一个C#高级编程中的事件 DEMO 实例_.net资料_编程技术-你的首页-uuhomepage.com

  一个C#高级编程中的事件 DEMO 实例,C#高级编程中的例子,讲的是事件DEMO,一起来看看吧。


using System;
  using System.Collections.Generic;
  using System.Text;
  namespace ConsoleApplication1
  {
  class Program
  {
  ///
  /// 发生一个事件:用户选择了一个选项
  /// 响应是1:用户得到想要的结果
  /// 2:老板得到是否有用户在看他的信息
  ///
  /// 即:多点委托[显示结果,提示老板]
  ///
  ///
  static void Main(string[] args)
  {
  //UserInputMonitor 的成员userInputRequest 事件
  UserInputMonitor uim = new UserInputMonitor();
  //为userInputRequest绑定2个方法
  UserView uv = new UserView(uim);
  person p = new person(uim);
  //run方法里面会提示用户来促发userInputRequest 事件
  uim.Run();
  }
  }
  }
  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace ConsoleApplication1
  {
  class UserInputMonitor
  {
  public delegate void userInputRequest(object send,UserEventArgs e);
  public event userInputRequest onUserInputRequest;
  public void Run()
  {
  //不同的促发情况
  //UserEventArgs 带上了用户选择的信息
  while (true)
  {
  System.Console.WriteLine("input p:[look personal ]");
  System.Console.WriteLine("input c:[look company]");
  System.Console.WriteLine("input e:[exit ]");
  string input = System.Console.ReadLine();
  if (input.ToLower() == "p")
  onUserInputRequest(this, new UserEventArgs(RequestType.Personal));
  else if (input.ToLower() == "c")
  onUserInputRequest(this, new UserEventArgs(RequestType.Company));
  else if (input.ToLower() == "e")
  return;
  else
  continue;
  }
  }
  }
  }
  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace ConsoleApplication1
  {
  enum RequestType{
  Personal,
  Company
  }
  ///
  /// 携带了用户选择信息的EventArgs
  ///
  class UserEventArgs : EventArgs
  {
  private RequestType reqType;
  public RequestType GetRequestType
  {
  get
  {
  return this.reqType;
  }
  }
  public UserEventArgs(RequestType t)
  {
  this.reqType = t;
  }
  }
  }
  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace ConsoleApplication1
  {
  ///
  /// 绑定一个事件
  ///
  class UserView
  {
  public UserView(UserInputMonitor uim)
  {
  uim.onUserInputRequest += new UserInputMonitor.userInputRequest(uim_onUserInputRequest);
  }
  protected void uim_onUserInputRequest(object send, UserEventArgs e)
  {
  if (e.GetRequestType == RequestType.Company)
  System.Console.WriteLine("company is best!!");
  if(e.GetRequestType == RequestType.Personal)
  System.Console.WriteLine("he is chinese!!");
  }
  }
  }
  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace ConsoleApplication1
  {
  ///
  /// 绑定一个事件
  ///
  class person
  {
  public person(UserInputMonitor uim)
  {
  uim.onUserInputRequest += new UserInputMonitor.userInputRequest(uim_onUserInputRequest);
  }
  protected void uim_onUserInputRequest(object send, UserEventArgs e)
  {
  if (e.GetRequestType == RequestType.Personal)
  System.Console.WriteLine("somebody miss u!!");
  }
  }
  }





If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759