Явно преобразовывать (закастовать) обобщенный тип в опредленный тип - нельзя. ``` wrappedCollection - ссылочный тип ``` Код ниже будет работать не будет: ```csharp var castedWDict = (WList<int>) wrappedCollection; ``` Выдается ошибка (при компиляции) ``` Cannot cast expression of type 'WList<TKey>' to type 'WList<int>' ``` Однако при таком кастинге ошибки нет (при компиляции) ```csharp var fff = (ISomeInterface<int>) wrappedCollection ``` Вот так тоже нет ошибки (при компиляции) ```csharp var castedWDict = wrappedCollection as WList<int>; ``` Почему? Олег говорит, что это просто так задизайнили c#