C#面试题

1. C#扩展方法怎么写?

  定义静态类,写静态方法,方法的第一个参数是this+被扩展类型

2. 委托与事件区别?

  委托本质上是类,是类型安全的指针;委托是种类型,事件是种成员;事件不是委托,是封装过的委托,事件就是声明了一个私有的委托变量。

  委托可以直接通过委托去访问其处理函数,事件只可以通过对外公布的回调函数去调用

  事件只可以通过+=,-=去注册与取消订阅函数,而委托还可以使用=直接赋值

  为什么要用事件呢,个人理解可以类比于类的私有变量,同样功能的封装,把修改(类私有变量)或者触发(事件)的权利限制到类内部,外部不可以直接处理

posted on 2020-03-01 22:12  胖福  阅读(110)  评论(0编辑  收藏  举报

导航