код Dictionary<int, IReadOnlyList<char>> dict = null;
var dict1 = new Dictionary<int, List<char>>();
dict = dict1 в компайл тайме выдет ошибку конвертации List<T> в IReadOnlyLIst<T>. Смотрю в исходники всего этого добра и не понимаю(не вижу ограничений). Может тут есть объяснение с точки зрения преобразования типов которое я не понимаю. А может что то другое. Ты не в курсе случайно?
коварианция и контраварианция
https://learn.microsoft.com/en-us/dotnet/standard/generics/covariance-and-contravariance
Ну вот сделал ты так, а я захочу туда пропихнуть другой класс, который IReadOnlyList<T>, но не List<T>
Обсуждают сегодня