Я пытаюсь пройти через класс и его дочерние классы, чтобы получить переданные с ним значения.
Вот мой класс:
public class MainClass
{
bool IncludeAdvanced { get; set; }
public ChildClass1 ChildClass1 { get; set; }
public ChildClass2 ChildClass2 { get; set; }
}
Вот мой код до сих пор
GetProperties<MainClass>();
private void GetProperties<T>()
{
Type classType = typeof(T);
foreach (PropertyInfo property in classType.GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
WriteToLog(property.Name + ": " + property.PropertyType + ": " + property.MemberType);
GetProperties<property>();
}
}
Два вопроса:
- Что мне передать в GetProperties, чтобы передать дочерний класс, чтобы он затем перебирал его свойства, если это класс?
- Как получить значение из элемента свойства, если это не класс?
Надеюсь, все это имеет смысл. Если нет, не стесняйтесь спрашивать, и я постараюсь уточнить.
Спасибо
ChildClass1
, который был назначен этому свойству? РЕДАКТИРОВАТЬ: Или вы имеете в виду, является ли свойство типом значения (структурой)? Если да, то не беда, все равно будет работать. - person Chris Sinclair   schedule 01.05.2013