[C#-2] delegate和Delegate的区别

问题:delegate和Delegate的区别

分析:

相信很多朋友开发过程中都遇到过上述疑问,为了解开这个疑问,最近查阅了不少帖子,最终在msdn的官方文档找到了答案。

下面是delegate和Delegate的官方文档链接地址

delegate:https://msdn.microsoft.com/zh-cn/library/ms173171.aspx

Delegate:https://msdn.microsoft.com/zh-cn/library/system.delegate(v=vs.110).aspx

简单的来说就是:Delegate是个类,基类,抽象类。delegate是一个关键字

更深入一点则可以这样理解:

Delegate 类是委托类型的基类。 然而,只有系统和编译器可以显式地从 Delegate 类或 MulticastDelegate 类派生。 此外,还不允许从委托类型派生新类型。 Delegate 类不是委托类型,该类用于派生委托类型。

大多数语言实现 delegate 关键字,这些语言的编译器能够从 MulticastDelegate 类进行派生;所以,用户应当使用语言所提供的 delegate 关键字。

时间: 2024-10-05 17:27:40

[C#-2] delegate和Delegate的区别的相关文章

JQ中bind(),live(),delegate()事件方法的区别

[导读] bind(), live(), 和 delegate()这三个方法的区别并不是非常明显.弄清楚这些区别对我们写出简介的代码和预防我们的应用中出现bugs是非常有帮助的. jQuery团队在1 7版本中发布了一个用于绑定事件的新方法叫 bind(), .live(), 和 .delegate()这三个方法的区别并不是非常明显.弄清楚这些区别对我们写出简介的代码和预防我们的应用中出现bugs是非常有帮助的. jQuery团队在1.7版本中发布了一个用于绑定事件的新方法叫做on.这个方法包含

jQuery事件绑定方法bind、 live、delegate和on的区别

我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的.而它们之间到底有什么不同呢?在什么场合下用什么方法是最有效的呢? 1.准备知识 当我们在开始的时候,有些知识是必须具备的: 1).DOM树 下图仅仅是一个示例,这是一个在browser环境下的一棵模拟DOM树,在下面的代码中仅起到演示的作用: 2).Event bubbling (aka event propagation)冒泡 我们的页面可以理解为一棵DOM树,当我们在叶子结点上做什么事情的时候(如click一个a元素)

jQuery事件:bind、delegate、on的区别

最近在AngularJS的开发中,遇到一个神奇的事情:我们用到livebox来预览评论列表中的图片, 然而评论列表是由Angular Resource动态载入的.不可思议的是,点击这些动态载入的图片仍然会触发lightbox的图片预览. 难道lightbox使用先进的MutationObserver技术监听了DOM的变化?观察lightbox源码才发现,原来只是jQuery的.on()方法: $('body').on('click', 'a[rel^=lightbox], ...', funct

关于jquery的事件委托-bind,live,delegate,on的区别发展

1.bind()方法 (只能给已经存在的元素上绑定事件) 只能给调用它的时候已经存在的元素绑定事件,不能给未来新增的元素绑定事件. $('ul li').bind('click', function(){ $(this).addClass('active').siblings().removeClass('active'); }); 2.live()方法(绑定到document DOM节点上.和.bind()的优势是支持动态数据) jQuery 1.3新增的.live()方法代替.bind()方

(转)NSNotification、delegate和KVO的区别

1.效率肯定是delegate比nsnotification高. 2. delegate方法比notification更加直接,最典型的特征是, KVO和NSNotification的区别: 和delegate一样,KVO和NSNotification的作用也是类与类之间的通信,与delegate不同的是1)这两个都是负责发出通知,剩下的事情就不管了,所以没有返回值:2)delegate只是一对一,而这两个可以一对多.这两者也有各自的特点. 1)KVO的使用: 被观察者发出  addObserv

Control.BeginInvoke()和delegate的BeginInvoke()的区别

最近在一个demo中了解到可以用BeginInvoke来处理异步,于是我也自己做了一个winform来学习BeginInvoke. 在窗体上放置了一个按钮和一个label,点击按钮3秒后再label上显示“Hello World”.先是有了如下代码: 1 private void btnStart_Click(object sender, EventArgs e) 2 { 3 BeginInvoke(new xDel(k => 4 { 5 Thread.Sleep(k); 6 txtMain.T

详解jQuery中 .bind() vs .live() vs .delegate() vs .on() 的区别

转载自:http://zhuzhichao.com/2013/12/differences-between-jquery-bind-vs-live/ 我见过很多开发者很困惑关于jQuery中的.bind(), .live(), .delegate() 和 .on() 的使用以及它们的不同. 如果你没有耐心或者只想看到总结的话,请直接跳转到结尾. 在我们深入了解这些方法之前,先准备好HTML代码. [javascript] view plain copy <pre> <ul id=&quo

delegate 和 block 的区别

此文章结合实际的例子很详细的讲解了什么时候适合用delegate 或 block ,此文章不太适合不太熟悉block编程的读者 http://stablekernel.com/blog/blocks-or-delegation/ 下面一边文章是实际的例子用block的方式实现UIAlertView http://www.abdus.me/ios-programming-tips/uialertview-with-blocks-call-back/

jQuery中的bind() live() delegate()之间区别分析

jQuery中的bind() live() delegate()之间区别分析 首先,你得要了解我们的事件冒泡(事件传播)的概念,我先看一张图 1.bind方式 $('a').bind('click',function (){ alert('click'); }) 解析:这种方式最简单,jq扫描文档找出所有的a,让将函数绑定到每个元素的click事件上 2.live方式 $('a').live('click',function (){ alert('click'); }) 解析:jq将函数绑定到$