Как я могу поместить подклассы из того же базового класса в список? - PullRequest
3 голосов
/ 01 июня 2011

Как я могу поместить подклассы из того же базового класса в список?

Я работаю с ASP.NET MVC3 и создал базовый класс моделей со свойствами, такими как имя, возраст и т. Д. Теперь я создал подмодели (подклассы) с более подробной информацией. Чтобы легко обрабатывать подклассы, я хочу список с объектами в нем, но как?

Я читал об интерфейсах или ICollection и т. Д., Но не знаю, какой правильный выбор и как начать: - (

Ответы [ 2 ]

3 голосов
/ 01 июня 2011

Просто создайте список, чтобы он был базового класса:

List<BaseClass> myList = new List<BaseClass>();

, затем добавьте ваши объекты подкласса как обычно:

myList.Add(new SubClass1());
myList.Add(new SubClass2());

и т. Д.где:

public class SubClass1 : BaseClass {}
public class SubClass2 : BaseClass {}

Затем, когда вы получите их, вы можете использовать операторы is и as, чтобы определить, какой тип они на самом деле и иметь дело с ними соответствующим образом.

1 голос
/ 01 июня 2011

Я бы рекомендовал

List<BaseClass>

для

class Derived1 : BaesClass {}
class Derived2 : BaesClass {}
...