C#中的委托之操作符(基础二)
来源:互联网 发布:社交网络 推荐 综述 编辑:程序博客网 时间:2024/06/06 00:35
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Delegate_OTT_02{ /* * 讲解: * 委托运算符操作 + 、+= 、- 、-= * */ //声明一个委托 delegate void ImOTT(int x); class Program { static void Main(string[] args) { ImOTT dele1 = new ImOTT(OTT.A); dele1(1); ImOTT dele2 = new ImOTT(OTT.B); dele2(2); //-----操作符+ //Call A ; Then B ImOTT dele3 = dele1 + dele2; dele3(3); //-----操作符- //Call A Remove B //dele4中不存在dele2 ,使用操作符“-”指向的是一个空的调用列表,这里并不算是错误 //从非空的列表里移除一个不存在的委托并不算错 ImOTT dele4 = dele1 - dele2; dele4(4); //-----操作符+= //Call A B; Then A dele3 += dele1; dele3(5); //-----操作符-= //Call A B ,A; Remove A; dele3 -= dele1; dele3(6); //new 一个OTT OTT ott = new OTT(); ImOTT dele5 = new ImOTT(ott.C); //Call A B ; Then C dele3 += dele5; dele3(10); dele3 += dele1; dele3(20); //注意这样:此时dele3 中 Call A B C A Then Remove A;操作符-=dele1移除的是最后一个A //在这样的调用列表中,当移除那个委托时,实际被移除的是调用列表里最后出现的那个委托 dele3 -= dele1; dele3(30); Console.Read(); } } class OTT { // 静态方法A public static void A(int a) { Console.WriteLine("OTT.A: "+ a); } // 静态方法B public static void B(int b) { Console.WriteLine("OTT.B: "+ b); } // 方法C public void C(int c) { Console.WriteLine("OTT.C: "+ c); } }}
0 0
- C#中的委托之操作符(基础二)
- C#中的委托之简单声明(基础一)
- c#基础之委托
- C#中的委托与事件(二)
- C#中的委托与事件(二)
- C#修饰符之二(事件和委托)
- C#之委托学习二
- C#中的委托和事件(二)
- C#中的委托和事件(二)
- C#中的委托和事件(二)
- 【基础】C# 中的委托和事件
- c#中委托、事件之我见(二)
- Unity3D C# 委托和事件(之二)
- C#学习之步步高(二)认识到熟悉委托
- Unity3D 中使用C# 委托和事件(之二)
- Unity3D C# 委托和事件(之二)
- C#学习(二)委托
- C#编程之C#基础(二)
- Call requires API level 11 (current min is 10): android.content.ContentResol 解决方法
- 文本属性Attributes
- 1B. Spreadsheets
- 怎样把多张图片转为PDF文件
- 通过Application存取公共数据比如登录信息等..
- C#中的委托之操作符(基础二)
- 从一段文本提取IP地址
- 51nod 1101 换零钱
- 魅族 MX4,MX4 Pro,MX5 android studio无法识别问题
- 精通iOS开发--第15章 Grand Central Dispatch和后台处理之Block与Self的循环引用
- [dfs序 树状数组] BZOJ 1103 [POI2007]大都市meg
- Javascript创建对象的七种模式(你必须掌握!)
- list packages
- 寻找一个字符串中连续出现次数最多的子串(面试宝典14.5节面试题1)