csharp 如何将带有ref类型参数的方法当做参数调用
时间: 2024-05-15 11:16:49 浏览: 82
在 C# 中,可以使用委托将带有 ref 类型参数的方法作为参数传递给另一个方法。委托是一种类型,它可以封装一个或多个方法,并允许将它们作为参数传递给其他方法。以下是一个示例:
首先定义一个带有 ref 类型参数的方法:
```csharp
public void MyMethod(ref int myParam)
{
myParam = 42;
}
```
然后定义一个委托类型,该委托类型接受一个 int 类型的 ref 参数:
```csharp
public delegate void MyDelegate(ref int myRefParam);
```
接着定义一个方法,该方法接受一个 MyDelegate 类型的参数,并调用该委托:
```csharp
public void UseDelegate(MyDelegate myDelegate)
{
int myParam = 0;
myDelegate(ref myParam);
Console.WriteLine(myParam); // 输出 42
}
```
最后,可以将 MyMethod 方法作为参数传递给 UseDelegate 方法:
```csharp
MyDelegate myDelegate = new MyDelegate(MyMethod);
UseDelegate(myDelegate);
```
这样就可以成功将带有 ref 类型参数的方法当做参数调用了。
阅读全文