C#学习笔记之——委托(delegate)
来源:互联网 发布:sql强数据库破解路由器 编辑:程序博客网 时间:2024/06/05 01:52
菜鸟教程-委托
定义一个委托
<访问修饰符> delegate <返回类型> <委托名> (<参数列表>)
访问修饰符不是必须的
public delegate int MyDelegate (int s);委托也可以有泛型
可以这样实例化
printString ps1 = new printString(WriteToScreen);printString ps2 = new printString(WriteToFile);或
printString ps1;ps1 = WriteToScreen;
还可以不取名字,不单独写函数,如果是只需要用一次的情况,这样可以更方便
printString = delegate (int a) { 函数体}
委托对象可使用 "+" 运算符进行合并。一个合并委托调用它所合并的两个委托。只有相同类型的委托可被合并。"-" 运算符可用于从合并的委托中移除组件委托。
使用委托的这个有用的特点,您可以创建一个委托被调用时要调用的方法的调用列表。这被称为委托的 多播(multicasting),也叫组播。
public delegate void Greeting (string name);public static void ChineseGreeting(string name){Console.WriteLine (name + "先生你好!");}public static void JapaneseGreeting(string name){Console.WriteLine ("{0}さん、こんにちは",name);}
GreetingDelegate greet;greet = ChineseGreeting;greet += JapaneseGreeting;greet ("李");这样会输出
李先生你好!
李さん、こんにちは
当然用-=就会去掉,不过如果去掉本来没在greet里面的,比如写greet -= EnglishGreeting也不会报错
阅读全文
0 0
- C#学习笔记之——委托(delegate)
- C#学习笔记-delegate 委托
- C#学习之委托(Delegate)
- C#学习--委托 Delegate
- C#之委托delegate
- C#基础知识——委托Delegate
- C#学习日记19----引用类型 之 委托(Delegate) 类型
- C#学习笔记之委托
- C#学习笔记——委托
- IOS—delegate(委托)
- C#面象对象学习:委托(delegate)
- C#学习之Delegate
- C#之delegate学习
- C#不是C++ 之 委托(Delegate)
- C#不是C++ 之 委托(Delegate)
- C#基础 之 初识委托delegate
- Object C学习笔记16-委托(delegate)
- Object C学习笔记16-委托(delegate)
- 枚举——熄灯问题
- hadoop
- Ubuntu14.04 opencv2.4.8和opencv3.3.1多版本共存
- tty_ldisc线路规程简述
- Android Studio实现拨号
- C#学习笔记之——委托(delegate)
- 电子科技大学信息与软件工程学院
- C语言实训第一天
- td标签居中
- 完全理解 Python 迭代对象、迭代器、生成器
- 蓝桥杯 基础 Sine之舞
- python初识之深浅拷贝
- 30. Substring with Concatenation of All Words
- 记录一次升级迁移的过程