C# 委托事件 -- 通俗入门
2017-02-05 21:16
423 查看
看了波哥的博客,如醍醐灌顶,收获颇丰,照葫芦画瓢,自己写了一个Demo程序,帮助理解。
using System; using System.IO; public class DelegateTest { public delegate void PublishEventHandle(); /// <summary> /// 发布者 ——老师 /// Publisher —— Teacher /// </summary> public class Teacher { //建立事件,EventHandler是系统内部定义的标准事件委托 public event PublishEventHandle OnOrder; //public event EventHandler OnPublishEventHandle; public void publishInfo() { //MemoryStream memory = new MemoryStream(); FileStream file = new FileStream(@"D:\test.txt", FileMode.Create); StreamWriter writer = new StreamWriter(file);//实现对字符串的写入 writer.WriteLine("开始考试:" + DateTime.Now.ToLongTimeString()); writer.Close(); } //事件触发,必须在方法中 public void issue() { if (OnOrder !=null) { OnOrder(); } } } /// <summary> /// 订阅者——小明 /// Subscriber ---XiaoMing /// </summary> public class XiaoMing { public static void testInfo() { //MemoryStream memory = new MemoryStream(); FileStream file = new FileStream(@"D:\test.txt", FileMode.Append, FileAccess.Write); StreamWriter writer = new StreamWriter(file);//实现对字符串的写入 writer.WriteLine("小明开始考试:" + DateTime.Now.ToLongTimeString()); writer.Close(); } } /// <summary> /// 订阅者——小王 /// Subscriber ---XiaoWang /// </summary> public class XiaoWang { public static void testInfo() { //MemoryStream memory = new MemoryStream(); FileStream file = new FileStream(@"D:\test.txt", FileMode.Append, FileAccess.Write); StreamWriter writer = new StreamWriter(file);//实现对字符串的写入 writer.WriteLine("小王开始考试:" + DateTime.Now.ToLongTimeString()); writer.Close(); } } public static void Main() { Teacher MrLi = new Teacher(); MrLi.publishInfo(); MrLi.OnOrder += XiaoMing.testInfo; MrLi.OnOrder += XiaoWang.testInfo; MrLi.issue(); Console.ReadKey(); } }
1.扩展知识
委托可以实现设计模式之观察者模式相关文章推荐
- C#委托,事件理解入门 (译稿)
- C#中委托,事件理解入门
- C#事件与委托经典入门
- C#中事件委托的通俗看法
- 菜鸟入门 认识C#中的委托和事件
- C# 在线培训之零基础入门 05:委托与事件
- C#委托,事件理解入门 转载
- C#之入门总结_线程,委托,事件的关系_20
- C#委托,事件理解入门 (译稿)转载
- C#编程入门_委托、事件、Lambda表达式_20
- C#基础入门之委托事件反射
- 我对C#中事件委托的通俗看法
- C#委托,事件理解入门 (译稿)
- C#委托,事件理解入门
- C#之委托和事件入门
- 菜鸟入门 认识C#中的委托和事件
- C#委托,事件理解入门 (译稿)
- C#里的委托和事件实现Observer
- C#委托及事件
- C#中,对委托和事件的理解