首页 > 代码库 > C#中的委托和事件
C#中的委托和事件
委托刚开始觉得特别难,可是后来理解后就觉得特别简单,进入正题。
委托特别有意思,委托可以把一个方法定义成另一个方法的参数,例如
用关键字delegate定义一个GreetingDelegate委托,string定义了name的类型,而GreetingDelegate委托定义了MakeGreeting方法的类型。
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性
可以将委托绑定到方法(我理解是委托中可以储存方法)
怎样写呢?
下面我们来说说事件,其实事件可以理解成私有的委托,为什么是私有的呢?
猫叫,老鼠会逃跑。这是两个动作,一个是猫叫,一个是老鼠逃跑,在现实生活中肯定没问题,但在代码中怎样实现的呢?就是用事件连接起来。还有就是上边为什么是私有的,如果这里还有其它的事物(大象,狮子),会引起其它事物的响应吗?定义成私有的就是避免其它事物也委托给它,因为这根本没有关关联。
举例:
现在假设热水器由三部分组成:热水器、警报器、显示器,它们来自于不同厂商并进行了组装。那么,应该是热水器仅仅负责烧水,它不能发出警报也不能显示水温;在水烧开时由警报器发出警报、显示器显示提示和水温。
如果大家有什么见解,可以互相讨论。
C#中的委托和事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。