using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 委托的第一个实例
{
class Program
{
static void Main(string[] args)
{
int result = CalDelegate(10, 30); //第四步:通过委托的对象调用需要实现方法(函数),并且在这里传参;
Console.WriteLine(result);
CalDelegate -= add;//这一行的作用是: 取消委托对象之前所关联的add方法(函数)
CalDelegate += Subtraction;//这一行的作用是:让委托对象与Subtraction的方法(函数)关联起来,
result = CalDelegate(20, 10);用委托对象调用上面关联的那个方法;
Console.WriteLine(result);
Console.ReadKey();
}
static int add(int a, int b)//第二步:根据委托定义的函数原型编写需要实现的方法(函数);
//即就是要确保方法的函数返回值类型,参数值类型和个数要与委托的函数一致;
{
return a + b;
}
static int Subtraction(int a, int b)
{
return a - b;
}
}
public delegate int CalculatorDelegate(int a, int b);
//第一步 、首先我们声明一个委托(注意:委托的声明一般要写在类外)
//声明委托的办法是:public +delegate 关键字+ 函数的返回值类型+函数名+(参数的个数 和参数类型)
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 委托的第一个实例
{
class Program
{
static void Main(string[] args)
{
CalculatorDelegate CalDelegate = new CalculatorDelegate(add);
//第三步;第一委托的一个对象,但是注意,委托的对象在使用前一定要实例化,
int result = CalDelegate(10, 30); //第四步:通过委托的对象调用需要实现方法(函数),并且在这里传参;
Console.WriteLine(result);
CalDelegate -= add;//这一行的作用是: 取消委托对象之前所关联的add方法(函数)
CalDelegate += Subtraction;//这一行的作用是:让委托对象与Subtraction的方法(函数)关联起来,
result = CalDelegate(20, 10);用委托对象调用上面关联的那个方法;
Console.WriteLine(result);
Console.ReadKey();
}
static int add(int a, int b)//第二步:根据委托定义的函数原型编写需要实现的方法(函数);
//即就是要确保方法的函数返回值类型,参数值类型和个数要与委托的函数一致;
{
return a + b;
}
static int Subtraction(int a, int b)
{
return a - b;
}
}
public delegate int CalculatorDelegate(int a, int b);
//第一步 、首先我们声明一个委托(注意:委托的声明一般要写在类外)
//声明委托的办法是:public +delegate 关键字+ 函数的返回值类型+函数名+(参数的个数 和参数类型)
}