Ковариантность по Шилдту (в русском переводе) - C#
Формулировка задачи:
Добрый день.
Вот такая вот формулировка у Шилдта по поводу ковариантности:
Как ни кручу эту формулировку никак не могу прийти к выводу, что это верно. Как по мне все с точностью до наоборот. Я подозреваю две вещи:
1. Переводчики не сильно поняли о чем речь (почему и не советуют читать книги на русском).
2. Я как-то не под тем углом смотрю на эти слова и "замыленым" взглядом не вижу очевидных вещей.
Что думаете?
Применительно к обобщенному интерфейсу ковариантность служит средством,
разрешающим методу возвращать тип, производный от класса, указанного в параметре
типа.
Решение задачи: «Ковариантность по Шилдту (в русском переводе)»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace ConsoleAppKaton
{
class Program
{
static void Main(string[] args)
{
TempItems data = new TempItems();
var items = data.GetItems();
Console.WriteLine(items.GetType());
}
}
class Temp
{
}
interface ITemp<T>
{
IEnumerable<T> GetItems();
}
class TempChild : Temp
{
}
class TempItems : ITemp<Temp>
{
public IEnumerable<Temp> GetItems()
{
return new List<TempChild>();
}
}
}