Variant types as parameters and return values C# with Example



Variant types as parameters and return values C# with Example

If a covariant type appears as an output, the containing type is covariant. Producing a producer of Ts is like 
producing Ts. 
interface IReturnCovariant 
{ 
IEnumerable GetTs(); 
} 
If a contravariant type appears as an output, the containing type is contravariant. Producing a consumer of Ts is like 
consuming Ts. 
interface IReturnContravariant 
{ 
IComparer GetTComparer(); 
} 
If a covariant type appears as an input, the containing type is contravariant. Consuming a producer of Ts is like 
consuming Ts. 
interface IAcceptCovariant 
{ 
void ProcessTs(IEnumerable ts); 
} 
If a contravariant type appears as an input, the containing type is covariant. Consuming a consumer of Ts is like 
producing Ts. 
interface IAcceptContravariant 
{ 
void CompareTs(IComparer tComparer); 
} 

0 Comment's

Comment Form