扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
以下是引用片段: 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!!"); } } } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者