泛型方法是一种可以在定义时不指定具体类型,在调用时指定具体类型的方法。在 C# 中使用泛型方法可以提高代码的重用性和灵活性。
下面是一个简单的示例,演示如何实现和使用泛型方法:
using System;
public class GenericMethodDemo
{
// 定义一个泛型方法,可以接受任意类型的参数
public T GetMax<T>(T a, T b) where T : IComparable
{
return a.CompareTo(b) > 0 ? a : b;
}
// 定义一个泛型方法,可以接受任意类型的参数
public void PrintMessage<T>(T message)
{
Console.WriteLine(message);
}
}
class Program
{
static void Main()
{
GenericMethodDemo demo = new GenericMethodDemo();
// 调用 GetMax 方法并指定类型为 int
int maxInt = demo.GetMax<int>(10, 20);
Console.WriteLine($"Max Int: {maxInt}");
// 调用 GetMax 方法并指定类型为 double
double maxDouble = demo.GetMax<double>(3.14, 2.5);
Console.WriteLine($"Max Double: {maxDouble}");
// 调用 PrintMessage 方法并传入字符串参数
demo.PrintMessage<string>("Hello, World!");
// 调用 PrintMessage 方法并传入整数参数
demo.PrintMessage<int>(123);
}
}
在上面的示例中,GenericMethodDemo 类中定义了两个泛型方法 GetMax 和 PrintMessage。在 Main 方法中,我们分别调用了这两个泛型方法,并指定了具体的类型参数。
通过泛型方法,我们可以实现一个通用的方法,可以接受任意类型的参数,并且在调用时指定具体的类型,实现更加灵活和通用的代码编写。