2016-09-21 5 views
-1

У меня есть 2 классовПолучить ребенок из класса наследовать

public class A 
{ 
    public string prop1 { get; set; } 
    public string prop2 { get; set; } 
    public string prop3 { get; set; } 
} 

public class B : A 
{ 
    public string prop4 { get; set; } 
} 

И у меня есть метод, чтобы заполнить список с типом B.

Вопрос: Что это самый простой способ, чтобы получить результат в List<A>

List<B> BList = new List<B>(); 
BList = GetData(); //fill List with Data 
List<A> AList = (List<A>)BList; // convert? cast? 

класса A имеет все поля класса B поэтому должен быть простой способ получить от B до A.

+0

дубликат ссылка не о наследовании – c0rd

+0

Первый ответ. –

+1

Поскольку у вас есть «Список» здесь, вы также можете использовать проекцию Linq «Список AList = BList.Select (b => (A) b) .ToList();' –

ответ

1

Вам придется создать новый экземпляр List<A> со ссылками на все предметы из BList:

List<A> AList = new List<A>(BList); 

Это потому, что List<T> не ковариантны (и не может быть).

+0

Спасибо, что вы ответили. – c0rd

Смежные вопросы