C#高级编程中的事件 DEMO 实例
来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 09:31 点击:次
一个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 { /// /// 绑定一个事件 相关新闻>>最新推荐更多>>>
|