C# Action委托

委托内核就是封装--就是将业务方法封装成委托调用

Action委托是C#中的一个预定义委托类型,它表示一个不返回值的方法。Action委托可以用于封装一个方法,然后将其作为参数传递给另一个方法,或者将其赋值给一个委托变量,以便在需要时调用该方法。

Action委托的定义如下:

```csharp
public delegate void Action();
public delegate void Action<in T>(T obj);
public delegate void Action<in T1, in T2>(T1 arg1, T2 arg2);
// ...
```

Action委托的用法示例:

```csharp
// 定义一个不带参数的方法
public void SayHello()
{
    Console.WriteLine("Hello!");
}

// 定义一个带一个参数的方法
public void SayName(string name)
{
    Console.WriteLine("My name is " + name);
}

// 将方法封装成Action委托
Action helloAction = new Action(SayHello);
Action<string> nameAction = new Action<string>(SayName);

// 调用Action委托
helloAction(); // 输出:Hello!
nameAction("Tom"); // 输出:My name is Tom
```

在上面的示例中,我们首先定义了两个方法SayHello和SayName,然后将它们封装成Action委托helloAction和nameAction。最后,我们通过调用helloAction和nameAction来执行这两个方法。

需要注意的是,Action委托的参数个数和类型是固定的,如果需要传递多个参数,可以使用Action<T1, T2, ...>委托,其中T1、T2等表示参数的类型。

猜你喜欢

转载自blog.csdn.net/BlueCapt/article/details/131234542