zoukankan      html  css  js  c++  java
  • 简明C#事件

    C#事件:就是一个针对对象的可挂接回调函数。
    1、声明回调原形,必须为 delegate .....XXXX();
    2、在要添加事件的类中,声明事件。
    3、在类中选择一个触发事件的时机。触发事件前,一定要先判断事件是否为空!
    4、挂接事件。

    using System;
    public delegate void ChangeEvent();     //1、回调函数的原形

    class myClass
    {
        
    public event ChangeEvent change;    //2、声明事件
        int _id;
        
    public int ID
        
    {
            
    get return _id; }
            
    set 
                
    if ((1 == value) && (change != null))
                    change();               
    //3、触发事件。触发事件之前,先要判断事件是否已实例化的(取上面的change != null);
                _id = value; 
            }

        }

    }


    class Test
    {
        
    static void Main()
        
    {
            myClass c 
    = new myClass();
            
    //4、c对象有一个事件change,下句是添加回调函数实例。
            c.change += new ChangeEvent(new Test().Ah);
            c.change 
    += new ChangeEvent(yiyi);
            c.ID 
    = 1;                       
            Console.Write(
    "c.ID :{0}", c.ID);
        }

        
    static void yiyi()
        

            Console.Write(
    "yiyi!!\n");
        }

        
    void Ah()
        
    {
            Console.Write(
    "Ah!\n");
        }

    }
      在网上查找一些关于事件的说明,头都看大了,自已写一个简单的说明。
      够用就行了,不要死拘语法,用一些基本的, 解决问题的方法就行。
      最后一句说,C#事件,就是一个针对对象的可挂接回调函数。
  • 相关阅读:
    meego API
    linux的文件cache导致写文件消耗大量内存
    系统内存不断消耗 导致系统停滞(表面像死机) 但又找不到内存泄漏点
    C常用的LinuxC语言函数库
    GUI
    java 集合类结构图
    接口到底是个什么玩意
    抽象类到底是个什么玩意
    异常
    IO流
  • 原文地址:https://www.cnblogs.com/freebird92/p/606215.html
Copyright © 2011-2022 走看看