zoukankan      html  css  js  c++  java
  • C#中的静态事件

    静态事件是类的事件,而不是实例的事件
    当你有一个存放全局变量和公用方法的类,想在里面添加一个事件的时候,或许会用到"静态事件".
    public delegate void UserListChangedDelegate();

    public class myClass
    {
       
    public event UserListChangedDelegate OnUserListChanged;
       
    private static List<string> _userList;
       
    public static List<string> UserList
       
    {
          
    get{return _userList;}
       }

       
    //往用户列表中添加用户
       public static void AddUser(string user)
       
    {
           _userList.Add(user);
           
    if(myClass.OnUserListChanged!=null)
              OnUserListChanged();
       }

       
    //从用户列表中移除一个用户
       public static void RemoveUser(string user)
       
    {
          _userList.Remove(user);
          
    if(myClass.OnUserListChanged!=null)
             OnUserListChanged();
       }

    }



    public class Test
    {
        Public Test()
        
    {
               
    //绑定事件
               myClass.OnUserListChanged+=new UserListChangedDelegate(UserListChanged);
        }

         
        
    //处理事件
        protected void UserListChanged()
        
    {
            MessageBox.Show(
    "User List Changed!");
        }

    }


    这样每当调用myClass.AddUser() 或者 myClass.RemoveUser()的时候,都会弹出一个对话框
  • 相关阅读:
    Mysql 批量插入数据的方法
    sql server 多行合并一行
    跨服务器多库多表查询
    OPENQUERY用法以及使用需要注意的地方
    C# 判断操作系统的位数
    rpc介绍
    JavaScript decodeURI()与decodeURIComponent() 使用与区别
    UNIX 时间戳 C#
    C# winform javascript 互调用
    oracle 实例名和服务名以及数据库名区别
  • 原文地址:https://www.cnblogs.com/xclw/p/1187203.html
Copyright © 2011-2022 走看看