delegate放在方法上
时间: 2024-10-19 08:10:18 浏览: 14
在C#中,`delegate`关键字用于创建委托(Delegate),它是.NET框架中一种强大的功能,允许我们把方法作为参数传递给其他方法,或者像函数一样存储、调用和传递。当我们把一个方法“绑定”到一个`delegate`类型的实例时,这个`delegate`就成为了一个可以执行该方法的代理。
简单来说,你可以这样理解:
1. **声明**:首先,你需要定义一个委托类型,比如`MyMethod`,它对应一个特定的方法签名,如`void MyMethod(string param)`。
```csharp
public delegate void MyMethod(string param);
```
2. **绑定**:然后,你可以创建一个`MyMethod`类型的委托实例,并将一个实际的方法绑定到它上面,例如:
```csharp
private void SomeFunction()
{
MyMethod myMethod = new MyMethod(MyActualMethod);
}
private void MyActualMethod(string param)
{
// 实际的方法体
}
```
这里,`SomeFunction` 将 `MyActualMethod` 绑定到了 `myMethod` 上。
3. **调用**:最后,在需要的地方,你可以像调用普通方法那样调用这个委托:
```csharp
myMethod("some parameter");
```
这样,就会执行绑定了 `MyActualMethod` 的`myMethod`。
阅读全文