Я пытаюсь пройти через класс и его дочерние классы для получения переданных значений.Цитирование через классы и дочерние классы для извлечения свойств и значений в C#
Вот мой класс:
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, чтобы передать дочерний класс, для чтобы затем пропустить его свойства, если это класс?
- Как получить значение из элемента свойства, если оно не является классом?
Надеюсь, это все имеет смысл. Если нет, не стесняйтесь спрашивать, и я попробую и уточню.
Благодаря
Что вы имеете в виду «получить значение из объекта имущества, если это не класс»? Вы хотите получить значение _value, присвоенное этому свойству? Итак, загрузите _instance_ из 'ChildClass1', который был назначен этому свойству? EDIT: Или вы имеете в виду, если свойство является value-type (struct)? Если это так, не имеет значения, все равно это сработает. –
Что именно вы подразумеваете под «значением от свойства»? Вы не передаете какой-либо экземпляр MainClass в GetProperties, поэтому откуда это должно взяться? – Heinzi
Извинения. Немного смущал вещи и пропустил половину моего вопроса. ;-) Моя основная цель - передать экземпляр MainClass, например. со значениями в, затем прокрутите его, и это дочерние классы и получите значения, установленные против любых значений. Надеюсь, это очистит все! Извиняюсь! –