委托(delegate)是一种可以把引用存储为函数的类型。委托的声明类似于函数,但不带函数体,且要使用delegate关键字,委托的声明指定了一个返回类型和一个参数列表。在定义了委托之后,就可以声明该委托的变量。接着把这个变量初始化未与委托有相同返回类型和参数列表的函数引用。之后,就可以使用委托变量...
分类:
Web程序 时间:
2014-11-24 06:27:13
阅读次数:
215
protocol和delegate完全不是一回事,放在一起说,只是因为我们经常在同一个头文件里看到这两个word。 协议(protocol),就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。 委托(delegate),顾名思义就是委托别人办事,就是当 一件事情发生后,自己...
分类:
其他好文 时间:
2014-11-17 12:15:06
阅读次数:
220
成员函数指针与高性能的C++委托(上篇) 撰文:Don Clugston 引子 标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做"闭包(closure)"或"委托 (delegate)")在一些...
分类:
编程语言 时间:
2014-11-06 11:12:58
阅读次数:
247
委托,delegate关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。委托类型声明的格式如下:public delegate void TestDelegate(string message);首先,我们看一下M.....
委托和事件是C#中相当重要的部分,先简单科普一下这两个概念的定义: 委托delegate 关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。——msdn 事件event是特殊类型的多路广播委托,仅可从声明...
分类:
其他好文 时间:
2014-11-05 21:14:43
阅读次数:
224
原文链接:http://www.2cto.com/kf/201301/186760.html其实他们两个都是委托【代理】的简写形式。一、【action】指定那些只有输入参数,没有返回值的委托Delegate的代码:[csharp] public delegate void myDelegate(st...
Delegate类简介
------------------------ 命名空间:System
程序集:mscorlib(在 mscorlib.dll 中) 委托(Delegate)类是一种数据结构,通过它可引用静态方法或引用类实例及该类的实例方法。 以往的界面编程中我们应该都接触过各种类型的事件...
看C#高级编程第八版看到委托,有人说它和Java中的代理有些相似,但我认为这是一个C#与其他编程语言不同的地方,这也应该很重要,不然书上也不会大篇幅的讲委托的概念和应用。我在网上查阅了关于委托的资料,发现它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有..
我们几乎可以在任何组件中利用经典的委托(delegate)和数据源协议(data-source protocols)。如果你想显示一些数据,那么数据源协议可能就非常适合你,例如你有以下问题:
1:我有很多事物(有很多条数据)。
2:设置每个事物(数据)X的成员Y的值。
同样,在几乎所有情况下,一个经典的委托(delegate)协议形式如下:
1:这件事应当做吗(一个动作发生前,通常调用一个带有返回值的委托方法,决定动作是否执行)?
2:...
规则1:使用当前平台的描述用语或构架
一个最常见的API错误设计是使用外来的规则,API属于一个特定的平台和相关开发者生态系统。你不能使用任何其他不同平台的描述用语或构架,这会污染你当前的代码库,并破坏你同伴的工作效率。
在编码前要充分了解你的目标平台和代码规范。例如,在IOS和OSX中,不使用异常机制处理错误。统一命名规则(规则要足够详细,但是也要足够简洁)。
了解什么是协议(protocol),委托(delegate),扩展(category)。始终在你的代码中使用术语。遵守构造...