C#中协变和逆变的概念是甚么
协变和逆变是C#中泛型类型参数的束缚概念。
协变(covariance)是指在泛型类型参数上的转换能力,即能够将一种类型参数转换为另外一种类型参数。在C#中,协变一般利用于返回类型。例如,如果一个类型是协变的,那末可以将这个类型赋给一个泛型类型参数的基类。
逆变(contravariance)是指在泛型类型参数上的逆转换能力,即能够将一种类型参数转换为另外一种类型参数。在C#中,逆变一般利用于输入参数。例如,如果一个类型是逆变的,那末可以将这个类型赋给一个泛型类型参数的派生类。
在C#中,可使用关键字out
来表示协变,使用关键字in
来表示逆变。通过使用这些关键字,可以在声明泛型类型参数时指定其协变或逆变的特性。
TOP