zoukankan      html  css  js  c++  java
  • 事件与委托

      记得当初刚学习.net的时候,觉得委托这块好难,好长一段时间都是会用非懂的状态,现在也用这么长时间了,就想着回顾一下基础,加深对于这块的了解。

      委托,简单点说,就是可以把函数做为参数供其他模块调用,类似于C++中的函数指针;

      public delegate void MyDelegate();

      委托简单就是在一个函数声明之前添加一个delegate关键字,这样便声明了一个委托类型,即一种特殊的类。该类是不可以继承的,通过ildasm可以很明白的看到这一点。并提供了两种调用方式,同步调用和异步调用。

      而事件,则是在委托基础上加了一些限制。一种特殊的委托对象。其声明可以是:

            private static event MyDelegate Myevent;

      其限制在于,事件的调用只能在声明事件的对象内部进行调用,外部只能对事件的委托链进行添加或删除方法,在声明对象的内部的使用与普通的委托对象的使用无异。

      .net中内置的委托主要有Func和Action,一个需要返回值,而另外一个不需要。一般来说,.net提供的这些委托类型已满足要求,不满足时,可以自定义。

  • 相关阅读:
    iOS 整理面试题(上)
    2021年十大白马名单
    RabbitMQ:消息重复消费
    RabbitMQ:保证消息的顺序性
    RabbitMQ:保证消息的可靠性传输
    AWS S3 大文件分片上传
    rebase 用法小结
    Flask at scale
    MySQL分区
    动态规划示例题
  • 原文地址:https://www.cnblogs.com/maigc249/p/5295721.html
Copyright © 2011-2022 走看看