大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 其他相关 -> C#事件机制归纳(上)

C#事件机制归纳(上)

时间: 2021-07-31 作者:daque

  1.萎任的实行进程。 开始来看一下萎任,萎任本来即是本领的传播,并大概义本领的实行。事变本来即是规范化了的萎任,为了事变处置进程特制的、略微专科化一点的组播萎任(多点萎任)。底下举一个例子,我感触把萎任的例子和事变的例子比拟,会比拟简单领会。 using system;   class class1 {        delegate int mathop(int i1,int i2);        static void main(string[] args)        {                mathop op1=new mathop(add);                mathop op2=new mathop(multiply);                console.writeline(op1(100,200));               console.writeline(op2(100,200));                console.readline();        }        public static int add(int i1,int i2)        {                return i1+i2;        }        public static int multiply(int i1,int i2)        {               return i1*i2;        } }   开始代码设置了一个委派mathop,其出面配合与两个因变量add()和multiply()的出面(也即是其带的参数典型数目沟通): delegate int mathop(int i1,int i2); main()中代码开始运用新的委派典型证明一个变量,而且初始化委派变量.提防,证明时的参数只有运用委派传播的因变量的因变量名,而不加括号: mathop op1=new mathop(add); (或为mathop op1=new mathop(multiply);) 委派传播的因变量的因变量体: public static int add(int i1,int i2) {        return i1+i2; } public static int multiply(int i1,int i2) {       return i1*i2; } 而后把委派变量看作是一个因变量名,将参数传播给因变量。 console.writeline(op1(100,200)); console.writeline(op2(100,200));     2.事变的实行进程 using system;   class class1 {        static void main(string[] args)        {                student s1=new student();                student s2=new student();                s1.registerok +=new student.delegateregisterokevent(student_registerok);                s2.registerok +=new student.delegateregisterokevent(student_registerok);                s1.register();                s2.register();                console.readline();        }        static void student_registerok()        {               console.writeline("hello");        } }   class student {        public delegate void delegateregisterokevent();        public event delegateregisterokevent registerok;        public string name;        public void register()        {                console.writeline("register method");               registerok();        } } 在student类中,先声领会委派delegateregisterokevent(),而后运用event和要运用的委派典型(前方设置的delegateregisterokevent委派典型)证明事变registerok(不妨看作是委派的一个范例。): public delegate void delegateregisterokevent(); public event delegateregisterokevent registerok; 而后在main()因变量中,范例化student类,而后s1.registerok事变委派给了student_registerok 本领。经过“+=”(加即是)操纵符特殊简单地为.net东西中的一个事变增添一个以至多个相应本领;还不妨经过特殊大略的“-=”(减即是)操纵符废除那些相应本领。 而后,当挪用s1.register()时,事变s1.registerok爆发。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.