У меня проблемы с получением свойств вложенных объектов. Для примера, с которым я работаю, у меня есть 2 класса:
public class user
{
public int _user_id {get; set;}
public string name {get; set;}
public category {get; set;}
}
public class category
{
public int category_id {get; set;}
public string name {get; set;}
}
Там все достаточно просто, и, если я отражу любой из них, я получу правильные наборы GetProperties () , например, если я сделаю это:
PropertyInfo[] props = new user().GetType().GetProperties();
Я получу свойства user_id , name и category , и если я сделаю это:
PropertyInfo[] props = new category().GetType().GetProperties();
Я получу свойства category_id и category ; это работает просто отлично. Но , вот где я запутался ...
Как видите, категория является последним свойством пользователя , если я сделаю это
//this gets me the Type 'category'
Type type = new user().GetType().GetProperties().Last().PropertyType;
//in the debugger, I get "type {Name='category', FullName='category'}"
//so I assume this is the proper type, but when I run this:
PropertyInfo[] props = type.GetType().GetProperties();
//I get a huge collection of 57 properties
Есть идеи, где я облажался? Можно ли это сделать?