可变类型形参列表(variant-type-parameter-lists)
可变类型形参列表(variant-type-parameter-lists )只能在接口和委托类型上出现。它与普通的type-parameter-lists的差异在于,它的每个类型形参前面可以加上变化性批注:in和out。
如果前面的变化性批注为out,则该类型形参成为协变类型形参;如果变化批注为in,则该类型形参成为逆变类型形参;如果不存在变化批注,则称该类型形参为固定类型形参。
例如:
interface C<out x ,in y ,z>
{
x M(x,y);
z P{
get;set;}
}
在上面的代码中,x为协变类型形参,y为逆变类型形参,z为固定类型形参。