Как я могу прочитать свойства объекта, который содержит элемент массива, используя отражение в С#. Если у меня есть метод GetMyProperties, и я определяю, что объект является настраиваемым типом, то как я могу прочитать свойства массива и значения внутри. IsCustomType - это метод определения, является ли тип настраиваемым или нет.
public void GetMyProperties(object obj)
{
foreach (PropertyInfo pinfo in obj.GetType().GetProperties())
{
if (!Helper.IsCustomType(pinfo.PropertyType))
{
string s = pinfo.GetValue(obj, null).ToString();
propArray.Add(s);
}
else
{
object o = pinfo.GetValue(obj, null);
GetMyProperties(o);
}
}
}
Сценарий: у меня есть объект ArrayClass, а ArrayClass имеет два свойства:
-string Id
-DeptArray[] depts
DeptArray - это еще один класс с 2 свойствами:
-string code
-string value
Итак, эти методы получают объект ArrayClass. Я хочу прочитать все свойства сверху вниз и сохранить пару имени/значения в элементе словаря/списка. Я могу сделать это для значения, custom, enum type. Я застрял с массивом объектов. Не знаете, как это сделать.