Как реализуются ковариантность и контравариантность в обобщённых интерфейсах и делегатах в C#, и какие у них основные задачи? — ДейлиПреп