Как я могу прочитать свойства объекта, который содержит элемент типа массива, используя отражение в С#. Если у меня есть метод с именем 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 — это еще один класс с двумя свойствами:
-string code
-string value
Итак, этот метод получает объект ArrayClass. Я хочу прочитать все свойства сверху вниз и сохранить пару имя/значение в элементе словаря/списка. Я могу сделать это для значения, пользовательского типа, типа перечисления. Я застрял с массивом объектов. Не знаю, как это сделать.