Looking for c# Keywords? Try Ask4Keywords

C# Language Типы вариантов как параметры и возвращаемые значения


пример

Если в качестве вывода появляется ковариантный тип, то содержащийся тип является ковариантным. Изготовление производителя T s похоже на производство T s.

interface IReturnCovariant<out T>
{
    IEnumerable<T> GetTs();
}

Если контравариантный тип появляется как результат, то содержащийся тип контравариантен. Изготовление потребителя T s подобно потреблению T s.

interface IReturnContravariant<in T>
{
    IComparer<T> GetTComparer();
}

Если в качестве ввода появляется ковариантный тип, содержащий тип контравариант. Потребление производителя T s подобно потреблению T s.

interface IAcceptCovariant<in T>
{
    void ProcessTs(IEnumerable<T> ts);
}

Если в качестве ввода появляется контравариантный тип, то содержащийся тип является ковариантным. Потребление потребителя T s похоже на производство T s.

interface IAcceptContravariant<out T>
{
    void CompareTs(IComparer<T> tComparer);
}