Отражение свойства типа общего списка - PullRequest
1 голос
/ 09 июня 2011

У меня есть класс, как показано ниже

public class Foo<T>
{
  public List<T> Items{ get; set; }
}

и

У меня есть экземпляр, который выше класса,

Foo<Bar> bars = GetBars();

, как я могу получить свойства Bar, используяотражение?

я пробую это

PropertyInfo[] properties = bars.Items.First().GetType().GetProperties();

но я думаю, это не очень хороший способ, есть ли лучший способ сделать это?

Ответы [ 2 ]

6 голосов
/ 09 июня 2011

var Properties = bars.GetType().GetGenericArguments()[0].GetProperties();

Если вы не знаете тип, который будет содержать список.

Если это всегда будет Bar, тогда используйте typeof(Bar).GetProperties();

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

попробуй:

var properties = typeof(Bar).GetProperties();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...