Como identificar um objeto concreto dentro de um objeto Pai
Senhores boa tarde, estou montando um método de Exportar dados do BD para Excel dinâmico, dividi essa tarefa em 3 partes.
1 - Preencho um objeto com os dados retornados do BD
2 - Com a lista de objetos gero um DataTable
3 - Com o DataTable gero o Excel.
Minha dúvida quanto a isso é a seguinte. Tenho um objeto Pai, ele possui um objeto Filho que por sua vez uma lista de Netos. Gostaria de saber como eu poderia identificar se o dado no momento do Loop é uma propriedade de um Objeto concreto ou uma propriedade comum(string, int, long, etc..).
Segue a baixo o exemplo do meu código atual:
public DataTable ToDataTable<T>(List<T> items)
{
DataTable dataTable = new DataTable(typeof(T).Name);
PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo prop in Props)
{
dataTable.Columns.Add(prop.Name);
}
foreach (T item in items)
{
var values = new object[Props.Length];
for (int i = 0; i < Props.Length; i++)
{
values[i] = Props[i].GetValue(item, null);
}
dataTable.Rows.Add(values);
}
return dataTable;
}Discussão (3)
Carregando comentários...