前面两篇使用的每个委托都只包含一个方法调用,调用委托的次数与调用方法的次数相同.如果需要调用多个方法,就需要显示的调用多次委托.其实委托可以包含多个方法,这种委托称为多点委托.调用多点委托,就可以按顺序连续调用多个方法.
class Program
{
static void Main(string[] args)
{
Student s = new Student();
DelStudy ds = new DelStudy(s.study);
ds += new DelStudy(s.study);
ds();
}
}
/// <summary>
/// 学生
/// </summary>
class Student
{
public void study()
{
//学习
Console.WriteLine("学生在学习");
}
}
delegate void DelStudy();
程序执行结果:
引用
学生在学习
学生在学习
请按任意键继续. . .
实际上委托可以识别运算符
+
+=
-
-=
我们来看下面的例子:
代码片段:
例一:
Student s = new Student();
DelStudy ds1 = new DelStudy(s.study);
DelStudy ds2 = new DelStudy(s.study);
DelStudy ds3 = ds1 + ds2;
ds3();
程序执行结果:
引用
学生在学习
学生在学习
请按任意键继续. . .
-操作和-=操作同上......
多点委托的限制:
(1)
编译器只能识别返回值是void委托的+,+=,-,-=操作
或者
(2)
即时有的编译器能够识别返回值是非void委托的+,+=,-,-=操作,它也仅仅只返回最后一个方法的返回值......
分享到:
相关推荐
委托有两种类型:单播(单点委托)和多播(多点委托,即委托链)。事件是基于委托的,通过event关键字声明,允许订阅和触发事件。例如,在ASP.NET Web Forms中,Page_Load和btnSubmit_Click事件分别在页面加载和按钮...
C# 4.0版本引入了动态类型、多点委托、可空引用类型等新特性。《Visual C# 2010从入门到精通》和《C# 4.0核心技术及快速参考》这两本书将深入讲解C#的基础语法、类与对象、接口、继承、多态、异常处理、LINQ...
在本课件中,我们将深入探讨C#委托的定义、实例化以及使用,包括其在多点传送(Multicast Delegate)中的应用。 首先,我们要了解如何定义一个委托。在C#中,使用`delegate`关键字来创建一个新的委托类型。例如: ...
1. **C#4.0**:这是.NET Framework的一个版本,引入了多点委托、动态类型、命名参数等新特性。 2. **C#**:这是一种面向对象的编程语言,常用于.NET平台上的应用开发。 3. **.NET**:这是一个由Microsoft开发的软件...
C#支持事件和委托,便于实现事件驱动的编程模式。 11. **安全性**:局域网内的聊天应用也需要考虑安全性,比如防止中间人攻击、保护用户隐私等。这可能涉及到加密技术,如SSL/TLS,或者使用安全的身份验证机制。 ...
在数据多点分布时进行联合委托学习,需要考虑以下几个关键需求: 1. **数据隐私保护**:确保用户隐私数据在共享过程中不被泄露,同时确保加密后的数据仍能满足数据挖掘的要求。 2. **模型结构保护**:防止服务器...
- 当需要处理多点触控时,标准触摸委托更加适用。 - 在使用标准触摸协议时,需特别注意事件的“吃掉”机制,确保逻辑清晰。 通过本文的介绍,相信您对cocos2d中的事件响应机制有了更深入的理解。在实际开发过程中,...
ASTouchVisualizer ASTouchVisualizer是一个简单的类,它在所有视图的顶部显示多点触摸事件。 它用于创建清晰可见手指运动的iPhone或iPad视频教程。 它在项目中简单易用,无需重载。 只需将文件复制到您的项目中,...
本压缩包文件包含了斯坦福大学C193P iPhone Application Programming课程的第14课教学资料,专注于讲解多点触控事件(Multi-Touch Events)这一核心概念。在iOS应用开发中,理解和熟练运用多点触控事件对于构建用户...
在IT行业中,网络通信是应用程序之间交互的重要方式之一,而UDP(User Datagram Protocol)协议作为传输层协议...在项目"InternetMeeting"中,这些技术可能被用于建立多点视频会议系统,实现参会者之间的实时数据交换。
尽管CCTargetedTouchDelegate看似只处理单点,但它实际上并未屏蔽多点触摸,而是将多点触摸分解为单点事件。CCLayer类是最常用的,因为它提供了ccTouchesBegan、ccTouchesMoved和ccTouchesEnded等方法,用于捕获和...
Easy Touch完全支持Unity自带的UGUI系统,基于C#事件通过委托机制传递输入消息,支持针对多个相机与多个层进行输入控制。Easy Touch 5在前面几版的基础上又加入了一些新功能,包括一些快捷手势、内置PlayMaker 1.8...
通过定义一个特定的委托类型,消费者可以通过注册自己的回调函数来接收生产者发送的消息,这种机制支持多点广播,提高了系统的可扩展性和响应能力。 ### 4. 注意变量初始化顺序 在C#中,变量初始化器(initializer...
EasyTouch允许您基于触摸屏手势,操纵杆,按钮,带EasyTouch控件的DPadn TouchPad快速轻松地开发动作。...事件由委托系统发送,或者您可以使用新的EasyTouchTrigger组件。 -----本插件只供学习参考使用,切勿商用。
17. **多点触摸**:多点触摸是指同时识别和处理多个触摸点的能力,如两指缩放、旋转等手势。 18. **获取UDID**:iOS 5之后,苹果禁止直接获取UDID,但可以通过设备识别码(identifierForVendor)来获取一个设备的...
- AppDelegate.swift/Objective-C.m:应用委托,处理应用生命周期和启动事件。 - Assets.xcassets:资源文件,包含图片、颜色等。 - Info.plist:应用配置信息。 - Main.storyboard/XIBs:界面设计文件。 7. **...
与接口相比,委托允许多点传递,意味着一个委托可以绑定多个目标方法,从而简化了多用户支持的实现,降低了类间的耦合度。 **实践示例**:`KeyboardProcessor`类使用委托`OnGetLine`来处理键盘输入,并将输入转发给...
每批取样不少于1次,多点采样,重量不少于12公斤。 - 砂、碎石:400立方米或600吨为一个验收批,均匀分布取样。 - 混凝土:按照拌制量和配合比要求进行取样,每200立方米至少1次,每楼层至少1次,同时留置标准养护...
#HDNetworkKit-swift 请注意 项目地址已转移到: 用三层架构把界面层、服务层和网络层比较彻底的区分...infoCtrl.delegate = self //多点回调委托,可以同时指向多点对象并回调多个对象 infoCtrl.param.mID = car.data?
9. **其他重要特性**:C# 4.0还引入了动态类型(dynamic),允许在运行时决定类型,增强了对COM对象的互操作性,以及多点派发委托等。 总的来说,《C#语言规范4.0》是每个C#开发者必备的参考文档,它不仅涵盖了语言...