Предположим, у меня есть класс
public class Foo
{
public Bar Bar { get; set; }
}
Тогда у меня есть другой класс
public class Gloop
{
public List<Foo> Foos { get; set; }
}
Какой самый простой способ получить List<Bar>
Foo.Bars?
Я использую C # 4.0 и могу использовать Linq, если это лучший выбор.
UPDATE:
Просто для небольшой дозы реальности причина этого в том, что у меня есть класс службы Windows, который содержит внутренний производный класс ServiceBase в качестве свойства. В итоге я получаю такой код:
public class Service
{
public ServiceBase InnerService { get; set; }
}
public class ServiceHost
{
private List<Service> services = new List<Service>();
static void Main()
{
// code to add services to the list
ServiceBase.Run(services.Select(service => service.InnerService).ToArray());
}
}