get、set、add、remove → (字段、属性)+(委托、事件)

学习完了事件(event),可以得到:事件(event)=委托(deledgate)+增加/移除(add/remove)

——这一点,创建一个事件之后用反编译器(.NET Reflector)可以看见

而之前学习属性可以看成:属性=共有的(public)字段+(get/set)

事件的作用与委托变量一样,知识功能上比委托变量有更多的限制。(1、只能通过+=或-=来绑定方法[也就是事件的处理程序];2、只能在类内部调用(触发)事件[类内部是指:我这个事件在那个类中定义就只能在哪个类中被触发,即使这个事件是public的。而在其他的类中顶多只能给他的参数赋值,但是不能触发事件])

我想在C#中对于get、set、add、remove应该是有一个具体的定义的。他们限定了一些太灵活的类型,产生一些很好用的“新的”类型。

Just like writing, coding is a work of creating!
原文地址:https://www.cnblogs.com/chenbuer/p/3721064.html