Из списка объектов выбрать только одно поле?

У меня есть список объектов Human, у данных объектов есть поля Name и Age.

Я получаю список всех полей у объекта Human и по каждому полю я должен получить все значения из списка Humans. Как это возможно сделать? Пытался что-то сделать по примерам из гугла, но пока безрезультатно.

List<Human> Humans = getAllHumans();
var properties = typeof(Human).GetProperties(BindingFlags.Public | BindingFlags.Instance);

foreach (var property in properties)
{
    string NameField = property.Name;
    // Здесь надо получить список значений по каждому NameField из списка Humans.
}

Ответы (1 шт):

Автор решения: Aarnihauta

Будет что-то типа такого. Для полей просто изменить на GetFields

List<Human> humans = getAllHumans()

foreach(var human in humans)
{
   var properties = typeof(Human)
         .GetProperties(BindingFlags.Public | BindingFlags.Instance)
         .Select(x => new KeyValuePair<string, object>(x.Name, x.GetValue(human)))
}

→ Ссылка