csharp 如何将方法作为参数传递
时间: 2024-01-29 14:04:52 浏览: 19
在 C# 中,可以将方法作为参数传递给其他方法。这种方法被称为委托。
以下是一个简单的示例,展示如何将方法作为参数传递:
```csharp
using System;
namespace DelegateExample
{
class Program
{
delegate void MyDelegate(string message);
static void Main(string[] args)
{
MyDelegate myDelegate = new MyDelegate(PrintMessage);
PassMethodAsParameter(myDelegate);
}
static void PassMethodAsParameter(MyDelegate myDelegate)
{
myDelegate("Hello, world!");
}
static void PrintMessage(string message)
{
Console.WriteLine(message);
}
}
}
```
在上面的示例中,我们首先定义了一个委托类型 `MyDelegate`。然后,我们定义了一个方法 `PassMethodAsParameter`,它接受一个 `MyDelegate` 类型的参数。在 `Main` 方法中,我们创建了一个 `MyDelegate` 对象,并将其传递给 `PassMethodAsParameter` 方法。
在 `PassMethodAsParameter` 方法中,我们调用了传递进来的委托对象,并向它传递了一个字符串参数。在这种情况下,我们调用了 `PrintMessage` 方法来输出传递的消息。
输出结果为:
```
Hello, world!
```
这就是将方法作为参数传递的基本示例。委托还有更多的用途,例如在事件处理中使用。