📅  最后修改于: 2023-12-03 15:29:48.902000             🧑  作者: Mango
在 C# 中,尖括号(<>)通常用于定义泛型类型和泛型方法。在这个介绍中,我们将深入探讨泛型类型和泛型方法及其用法。
泛型类型可以定义一个类、结构体、接口或委托,其类型参数可由调用者指定。类型参数可以是任意类型,包括值类型、引用类型、数组、委托等。
以下是一个基本的泛型类定义示例,其中 T 是类型参数:
public class MyGenericClass<T>
{
// ...
}
可以使用类型参数定义类成员、方法参数、方法返回类型和字段:
public class MyGenericClass<T>
{
private T _field;
public void MyGenericMethod<T>(T argument)
{
T localVariable;
// ...
}
public T MyGenericProperty { get; set; }
}
泛型方法是一种特殊的方法,它使用泛型类型参数。与泛型类型一样,泛型方法允许类型参数由调用者指定。
以下是一个基本的泛型方法定义示例:
public static void MyGenericMethod<T>(T argument)
{
// ...
}
在方法定义中,可以使用类型参数作为方法参数类型和返回类型:
public static T MyGenericMethod<T>(T argument)
{
T localVariable;
// ...
return localVariable;
}
泛型类型和泛型方法的使用非常灵活。例如,可以将泛型类型作为其他类的基类或接口实现:
public class MyDerivedClass : MyGenericClass<int>
{
// ...
}
public interface IMyGenericInterface<T>
{
void MyGenericMethod(T argument);
}
public class MyGenericClass<T> : IMyGenericInterface<T>
{
public void MyGenericMethod(T argument)
{
// ...
}
}
可以在需要时指定类型参数:
MyGenericClass<int> intClass = new MyGenericClass<int>();
intClass.MyGenericMethod<int>(42);
MyGenericClass<string> stringClass = new MyGenericClass<string>();
stringClass.MyGenericMethod<string>("Hello World");
泛型类型和泛型方法是 C# 中非常强大和灵活的功能。它们可以让程序员写出更通用和可重用的代码,提高代码质量和开发效率。