eventhandler什么意思(C# 有时看到一个定义public event EventHandler TextChanged;event是什么意思和int string一样吗)
本文目录
- C# 有时看到一个定义public event EventHandler TextChanged;event是什么意思和int string一样吗
- 这句代码是什么意思public event PropertyChangedEventHandler PropertyChanged;
C# 有时看到一个定义public event EventHandler TextChanged;event是什么意思和int string一样吗
1、Event是一种事件,在编程过程中,可以创建类型为EventHandler的事件代理,也就是说当发生该事件时候,则执行TextChanged对应的方法,比如public event EventHandler TextChanged+=实现函数A ,事件发生时,执行函数A;2、int string 是值类型的变量 ;两个都是一种变量类型,应用场景不一样。
这句代码是什么意思public event PropertyChangedEventHandler PropertyChanged;
是事件委托。所谓“事件委托”,一个事件的本质是一个委托(因为事件是委托类型的)。而委托的好处在于它可以动态调用不同类之间具备相同函数签名(函数参数顺序、类型、个数相同),且函数返回值必须完全相同的函数。我先举一个委托的例子:namespace A{ public delegate void Say(); //委托 class Dog{public void Say(){Console.WriteLine("汪汪!");}}class Cat{public void Say(){Console.WriteLine("喵喵!");}}public class MainTest{static void Main(string args){Say s = new Say(new Dog().Say); //告诉委托调用Dog类中的Say方法s += new Cat().Say; //同时告诉委托调用Cat类中的Say方法 s();}}}Dog和Cat类毫无联系,但是却可以通过委托连接起来关系,我们说委托具备“跨类调用”函数的特性。因此,我们再来看一个事件的应用:public class MyClass{ public event EventHandler MyEvent = null; //EventHandler是一个系统委托,一般用于定义事件 ……………… public void MyMethod() //这是一个引发事件的方法,一旦调用该方法,必然触发事件 { ……………… //引发一个事件!! MyEvent(this,null); } } 主函数中: MyClass mc = new MyClass(); mc.MyEvent+=new EventHandler(MyEvent_Raised); ……………… static void MyEvent_Raised(object sender, EventArgs e) { ……………… //做你想做的事情 }事件的实例化是在使用到包含这个事件的实体类时候(比如在主函数需要调用的时候)。通过+=进行实体化;然后当调用实体的MyMethod方法时候,这个方法将引发一个事件,也就是触发了绑定的MyEvent_Raised方法。
更多文章:
multisim电阻在哪(使用multisim中电阻排在哪)
2024年7月18日 02:58
微服务架构的优势(基于容器的微服务架构带来的优势,说法正确的有哪些)
2024年7月24日 17:01
mybatis面试题参数(mybatis 的sql里面参数如何运算)
2024年7月23日 06:36
excel用year函数计算工龄(如何用year函数计算工龄)
2024年7月14日 14:52
remarks什么意思中文(国际快递remarks是什么意思)
2024年7月20日 15:49
bystanders(beholder和bystander的区别)
2024年7月23日 08:38
orthographical(Dmitri Tymoczko:音乐和弦的几何学)
2024年8月22日 06:15
表格中rank函数什么意思(excel的rank函数怎么理解)
2024年7月10日 00:38
字符串长度不同怎样取(excel怎么在不同长度字符串取指定的字符)
2024年5月16日 16:14
frighten的用法与搭配(fright 和 frighten的区别)
2024年10月17日 23:05