Уже есть похожий вопрос , но, похоже, он не спрашивал о ситуации, о которой идет речь.
Пользователь спросил о пользовательских классах в списке, но его объект списка имеет тип string.
У меня есть класс Foo со списком баров:
public class Foo : FooBase
{
public List<Bar> bars {get; set;}
public Foo() {}
}
public class Bar
{
public byte Id { get; set; }
public byte Status { get; set; }
public byte Type { get; set; }
public Bar(){}
}
Я создаю экземпляр Foo, используя отражение через Activator.CreateInstance (). Теперь мне нужно заполнить этот список баров объектами Bar.
Foo получается с использованием
Assembly.GetAssembly(FooBase).GetTypes().Where(type => type.IsSubclassOf(FooBase));
Бар - это открытый класс в той же Ассамблее. Мне нужно как-то добраться до этого типа. Кажется, я не вижу, какой тип списка содержится в Foo. Я знаю, что это список, хотя Я вижу свойство списка как List`1.
Мне нужно посмотреть, какой тип объекта содержится в списке, и обработать его соответствующим образом.