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#事件,就是一个针对对象的可挂接回调函数。
  • 相关阅读:
    DataTable、GridView、DataList导出至Word或Excel
    实现字符串转换为图片
    Sina App Engine与Google App Engine区别对比
    C/C++反序输出字符串总结
    NAND flash和NOR flash详解
    [转载]看完《python简明教程》笔记及第一个python程序
    Python写爬虫——抓取网页并解析HTML
    ACM HDU 1004 Let the Balloon Rise
    有向图的强连通分量
    ACM HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/freebird92/p/606215.html
Copyright © 2011-2022 走看看