C#委托基础(一)
委托和其委托的方法必须具有相同的签名
签名相同:1.参数类型相同 2.参数数量相同 3.返回值一致
例子一:
class Program { public delegate int MathMethod(int x, int y); public int Add(int a, int b) { return a + b; } static void Main(string[] args) { MathMethod mm; Program p = new Program(); // 相当于一个方法的容器 mm = p.Add; Console.WriteLine("计算结果为{0}",mm(7,6)); Console.ReadLine(); } }
例子二:
class Program { public delegate double MathMethod(double x, double y); double Add(double a, double b) { return a + b; } double Subtract(double a, double b) { return a + b; } double Multiply(double a, double b) { return a * b; } double Divide(double a, double b) { return a / b; } void DoCalculate(MathMethod mm) { Console.WriteLine("请输入第一个数"); double x = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("请输入第二个数"); double y = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("结果{0}", mm(x, y)); Console.ReadLine(); } static void Main(string[] args) { MathMethod mm; Program p = new Program(); mm = p.Divide; p.DoCalculate(mm); } }
孜孜不倦,学习不止
浙公网安备 33010602011771号