举一个关于委托的代码例子
时间: 2024-03-11 08:47:57 浏览: 11
以下是一个简单的关于委托的代码例子:
```csharp
using System;
namespace DelegateExample
{
// 定义一个委托类型
public delegate void Operation(int a, int b);
// 定义一个包含委托类型的类
public class Calculator
{
// 定义两个方法,用于加法和减法运算
public void Add(int a, int b)
{
Console.WriteLine("{0} + {1} = {2}", a, b, a + b);
}
public void Subtract(int a, int b)
{
Console.WriteLine("{0} - {1} = {2}", a, b, a - b);
}
}
class Program
{
static void Main(string[] args)
{
// 创建一个Calculator对象
Calculator calculator = new Calculator();
// 创建一个委托对象,指向Calculator对象的Add方法
Operation addOperation = new Operation(calculator.Add);
// 创建一个委托对象,指向Calculator对象的Subtract方法
Operation subtractOperation = new Operation(calculator.Subtract);
// 使用委托对象调用Calculator对象的Add方法
addOperation(3, 4);
// 使用委托对象调用Calculator对象的Subtract方法
subtractOperation(5, 2);
}
}
}
```
在这个例子中,我们首先定义了一个Operation委托类型,然后定义了一个Calculator类,其中包含了两个方法Add和Subtract,用于加法和减法运算。接着,在Main方法中,我们首先创建了一个Calculator对象,然后创建了两个委托对象addOperation和subtractOperation,分别指向Calculator对象的Add方法和Subtract方法。最后,我们使用这两个委托对象分别调用了Calculator对象的Add方法和Subtract方法。