Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Generics - преобразование типов  [new]
Dimon.NET
Member

Откуда:
Сообщений: 44
Всем, привет!

Есть классы: BaseObject и MyObject : BaseObject
Есть переменная: List<MyObject> lst = new List<MyObject>();
Хочу так: List<BaseObject> lst2 = (lst as List<BaseObject>);
Компилятор говорит нельзя, а как можно, может кто подскажет?
20 дек 06, 11:29    [3558761]     Ответить | Цитировать Сообщить модератору
 Re: Generics - преобразование типов  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541

Так не получится, так как тогда можно будет сделать так:

class MyObject1 : BaseObject{
}
....
lst2.Add ( new MyObject1());
....

а так как lst2 = lst, то это равносильно

class MyObject1 : BaseObject{
}
....
lst.Add ( new MyObject1()); -- Нельзя неявно преобразовать MyObject1 к MyObject!
....



Posted via ActualForum NNTP Server 1.3

20 дек 06, 11:51    [3558930]     Ответить | Цитировать Сообщить модератору
 Re: Generics - преобразование типов  [new]
Lamer@fools.ua
Member

Откуда: Mississauga, Ontario, Canada
Сообщений: 544
Dimon.NET
Всем, привет!

Есть классы: BaseObject и MyObject : BaseObject
Есть переменная: List<MyObject> lst = new List<MyObject>();
Хочу так: List<BaseObject> lst2 = (lst as List<BaseObject>);
Компилятор говорит нельзя, а как можно, может кто подскажет?


Variance in Generic Types (C# Programming Guide)
20 дек 06, 12:35    [3559296]     Ответить | Цитировать Сообщить модератору
 Re: Generics - преобразование типов  [new]
maXmo
Member

Откуда: Моск.
Сообщений: 8541
было https://www.sql.ru/forum/actualthread.aspx?tid=345033
21 дек 06, 16:46    [3566876]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить