C# 中的协变和逆变
要有效地处理类,请使用协变和协变的慨念。
让我们以以下内容为我们的类。一是二类的基类,而二又为三的基类。
class One { } class Two: One { } class Three : Two { }
基类可以包含派生类,但反之则不行。使用协变,你可以传递一个派生类型,在该类型中期望有基类型。协变可以在 C# 中的数组、接口、委托等地方使用。
协变适用于参数。使用逆变,可以将带有基类参数的方法分配给委托,该委托期望具有具有逆变的派生类的参数。
广告
要有效地处理类,请使用协变和协变的慨念。
让我们以以下内容为我们的类。一是二类的基类,而二又为三的基类。
class One { } class Two: One { } class Three : Two { }
基类可以包含派生类,但反之则不行。使用协变,你可以传递一个派生类型,在该类型中期望有基类型。协变可以在 C# 中的数组、接口、委托等地方使用。
协变适用于参数。使用逆变,可以将带有基类参数的方法分配给委托,该委托期望具有具有逆变的派生类的参数。