msdn 委托实例
来源:互联网 发布:java程序判断闰年 编辑:程序博客网 时间:2024/06/06 08:58
1.面试就爱问委托
目前我在项目中还没用过,刚才试了个小例子,觉得也没啥区别啊,使用委托跟不使用委托。
2.外什么要使用委托,这也是到网上找的:使用委托使程序猿可以将方法引用封装在委托对象中。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法!
代码如下:
声明一个委托:
public delegate String myMethodDeletegate(int myInt);
显然委托的参数要跟实现方法的参数是一样的;委托要实现的方法:
public String myStringMethod(int myInt) { if (myInt > 0) return ("positive"); if (myInt < 0) return ("nagative"); return ("zero"); }
public static String mySignMethod(int myInt) { if (myInt > 0) return ("+"); if (myInt < 0) return ("-"); return (""); }
这两个方法都可以用上面的委托;委托的实现:
public static void Main() { Console.WriteLine("---------使用委托"); mySampleClass mySC = new mySampleClass(); myMethodDeletegate myD1 = new myMethodDeletegate(mySC.myStringMethod); myD1 += new myMethodDeletegate(mySampleClass.mySignMethod); Console.WriteLine(myD1(5)); // myMethodDeletegate myD2 = new myMethodDeletegate(mySampleClass.mySignMethod); // Console.WriteLine("{0} is{1};use the sign\"{2}\".", 5, myD1(5), myD2(5)); // Console.WriteLine("{0} is{1};use the sign\"{2}\".", -3, myD1(-3), myD2(-3)); // Console.WriteLine("{0} is{1};use the sign\"{2}\".", 0, myD1(0), myD2(0)); Console.WriteLine("---------不使用委托"); mySampleClass mySCNo = new mySampleClass(); Console.WriteLine("{0} is{1};use the sign\"{2}\".", 5, mySCNo.myStringMethod(5), mySampleClass.mySignMethod(5)); Console.ReadLine(); }
0 0
- msdn 委托实例
- 委托教程-Delegate(MSDN)
- c#委托--MSDN參考
- 委托(委托实例化)
- 委托实例
- 委托实例
- C# 程序员参考-委托教程(From MSDN)
- 委托,事件实例(转摘)
- 泛型委托实例
- 异步委托实例
- 委托实例化
- 事件委托实例
- C# 委托,事件 实例
- C# 委托,事件 实例
- 委托事件实用实例
- 多播委托实例
- C#委托-总结实例
- 委托的使用实例
- Android中处理崩溃异常
- Linux_数据段、代码段、堆栈段、BSS段的区别
- 网址保存
- golang的goroutine是如何实现的
- Popular Cows-POJ2186Tarjan
- msdn 委托实例
- Windows下检测USB插拔的demo
- Zoho People:人事自动化的5种方式
- Java石头剪刀布小游戏代码
- hdu(5119)——滚动数组dp
- Hdu 1070 MILK
- Texas Instruments
- 前端架构,前端架构组织结构,目录结构架构
- 构建高性能web之路------mysql读写分离实战(转)