委托理解
来源:互联网 发布:无线网搜索不到网络 编辑:程序博客网 时间:2024/06/05 10:43
下面通过一个简单的运算器来阐述委托的理解,当然最好的例子是委托使用线程池异步调用方啊;
C # Code:
class Caculate { public static double Add(int a, int b) { int c; c = a + b; return c; } public static double Minus(int a, int b) { int c; c = a - b; return c; } public static double Mutiply(int a, int b) { int c; c = a * b; return c; } //除法取整数 public static double Divison_Round(int a, int b) { int c; c = a / b; return c; } //除法取余数 public static double Divison(int a, int b) { int c; c = a % b; return c; } }
namespace Treading1{ //创建委托 delegate double MathAction(int m,int n); class DelegateTest { //把方法都放到一个类中看起来好看! //static int Add(int a, int b) //{ // int c; // c = a + b; // return c; //} //static int minus(int a, int b) //{ // int c; // c = a -b; // return c; //} //static int mutiply(int k,int d) //{ // int c; // c = k * d ; // return c; // } //static int divison(int k, int d) //{ // int c; // c = k / d; // return c; //} //还可以继续添加方法,然后参数和委托定义的相同就可以,这样只要通过实例化委托就可以异步调用方法, static void Main(string[] args) { //// 用方法名初始化委托 //MathAction ma = Add; //// 调用委托变量ma,并返回计算值 //int addnum = ma.Invoke(10, 9); //Console.WriteLine(addnum); //// 再用别的方法初始化委托 //MathAction ma2 = Minus; //double square = ma2(10,9); //Console.WriteLine(square); ////......... //委托实例放数组里,再添加新的方法主要数组和类里添加,其他地方不用改变! Console.WriteLine("请输入第一个数字数字:\n"); int a = int.Parse(Console.ReadLine()); Console.WriteLine("请输入第二个数字数字:\n"); int b = int.Parse(Console.ReadLine()); MathAction[] Nma = { Caculate .Add , Caculate .Minus , Caculate .Mutiply , Caculate .Divison_Round , Caculate .Divison }; for (int i = 0; i < Nma.Length; i++) { Console.WriteLine("运算法则[{0}]", i ); ProceeNumber(Nma[i], a, b); //ProceeNumber(Nma[i], 5, 6); Console.WriteLine(); } Console.ReadKey(); } //委托传递过来,并将其定为第一个参数; static void ProceeNumber( MathAction Action ,int x,int y) { //调用委托变量,并返回计算值; double result = Action(x, y); Console.WriteLine("运算结果是:{0}", result); } }}
- 什么是委托,理解委托
- 什么是委托,理解委托
- 理解委托
- 委托理解
- 理解委托
- 委托的理解
- 对委托的理解
- 委托 事件 代码理解
- 关于委托的理解
- 深入理解委托
- c#委托、事件理解
- 理解委托好比“任务书”
- C# 委托的理解
- C#委托-概念理解
- 委托的各种理解
- 委托的理解
- c# 委托理解
- 理解委托(转载)
- 什么是程序员的优秀品质?
- 高效率编辑器 VIM-操作篇,非常适合 VIM 新手
- TEST2
- Shell学习笔记-流程控制
- 数据结构基本概念
- 委托理解
- 找不到atlapp.h的解決方法
- JS防止重复提交
- vs2005编译opencv 2.1[CMake 2.8.4 Python 2.6.5]
- 深入浅出linux之字符设备和input设备
- 家有千金之迎春杯少儿段级位赛
- 学习原则
- vc++ 如何得到程序运行时间
- 函数的副作用