zoukankan      html  css  js  c++  java
  • C# 事件简单示例

     1 using System;
     2 using System.Reflection;
     3 
     4 namespace ConsoleApp1
     5 {
     6     class Program
     7     {
     8         // 自定义委托
     9         public delegate void TestHandler(string msg);
    10         // 使用自定义委托定义事件
    11         public static event TestHandler TestEvent;
    12 
    13         static void TrigerEvent(string msg)
    14         {
    15             if (TestEvent != null)
    16             {
    17                 TestEvent(msg);
    18             }
    19         }
    20         static void Man1(string msg)
    21         {
    22             Console.WriteLine(MethodBase.GetCurrentMethod().Name + " recv msg: " + msg);
    23         }
    24         static void Man2(string msg)
    25         {
    26             Console.WriteLine(MethodBase.GetCurrentMethod().Name + " recv msg: " + msg);
    27         }
    28         static void Man3(string msg)
    29         {
    30             Console.WriteLine(MethodBase.GetCurrentMethod().Name + " recv msg: " + msg);
    31         }
    32         static void Main(string[] args)
    33         {
    34             //加入事件订阅
    35             TestEvent += new TestHandler(Man1);
    36             TestEvent += new TestHandler(Man2);
    37             TestEvent += new TestHandler(Man3);
    38             TrigerEvent("is test event triger [1] ");
    39 
    40             //移除事件订阅
    41             TestEvent -= new TestHandler(Man2);
    42             TrigerEvent("is test event triger [2] ");
    43 
    44             Console.ReadKey();
    45         }
    46     }
    47 }
    运行结果
    
    
  • 相关阅读:
    java
    java
    Java hashCode() 和 equals()
    Python可变参数*和**
    Hadoop Mapreduce分区、分组、二次排序
    Java 内部类
    java valueOf()函数
    java接口和抽象类
    Java instanceof运算符
    JAVA ==号和equals()的区别
  • 原文地址:https://www.cnblogs.com/chenxiaolinembed/p/15192548.html
Copyright © 2011-2022 走看看