static void Main(string[] args) { MathOptDelegate oppDel; MathOpt obj = new MathOpt(); oppDel = obj.Add; Console.WriteLine(oppDel(1, 2)); //输出 3 Console.ReadKey(); }
static void Main(string[] args) { //委托是一种用户自定义的数据类型,可以用于定义变量 MathOptDelegate oppDel; //委托变量可以接收一个实例方法引用 MathOpt obj = new MathOpt(); // oppDel = obj.Add; //也可以接收一个静态方法引用 oppDel = MathOpt.Max; //委托变量可以当成普通方法那样调用 Console.WriteLine(oppDel(1, 2)); //输出 3 //可以把方法引用直接传给委托类型的参数 Console.WriteLine(UseDelegate(obj.Add, 10, 20)); Console.WriteLine(UseDelegate(MathOpt.Max, 100, 200)); Console.ReadKey(); }