.net中泛型委托的完整案例
时间: 2023-03-03 14:22:28 浏览: 110
以下是一个示例,演示如何在.NET中使用泛型委托:
```csharp
using System;
// 定义一个泛型委托
delegate T MyDelegate<T>(T a, T b);
class Program
{
static void Main(string[] args)
{
// 创建一个 MyDelegate<int> 委托实例
MyDelegate<int> myIntDelegate = new MyDelegate<int>(Add);
int result = myIntDelegate(2, 3);
Console.WriteLine("2 + 3 = {0}", result);
// 创建一个 MyDelegate<string> 委托实例
MyDelegate<string> myStringDelegate = new MyDelegate<string>(Concatenate);
string str = myStringDelegate("Hello, ", "World!");
Console.WriteLine(str);
}
static int Add(int a, int b)
{
return a + b;
}
static string Concatenate(string a, string b)
{
return a + b;
}
}
```
在这个示例中,我们首先定义了一个泛型委托 `MyDelegate<T>`,它接受两个类型为 `T` 的参数,并返回类型为 `T` 的值。然后,在 `Main` 方法中,我们创建了两个委托实例,一个用于整数加法,另一个用于字符串连接。最后,我们分别调用这两个委托实例,并打印结果。
这个示例展示了泛型委托在.NET中的用法,它可以接受任何类型的参数和返回值,使得我们可以写出更加灵活的代码。
阅读全文