Вы можете изменить текущий код, чтобы получить все подобъекты, а затем выполнить ту же проверку свойств нулевой строки.

я есть объект, который содержит строки и другие объекты, которые содержат строки, что мне нужно сделать, это убедиться, что объект и любые дочерние объекты имеют пустую строку, а не нулевое значение, пока это работает нормально:

foreach (PropertyInfo prop in contact.GetType().GetProperties())
{
    if(prop.GetValue(contact, null) == null)
    {
        prop.SetValue(contact, string.empty);
    }
}

проблема в том, что это работает только для строк объектов, а не для строк подобъектов. Есть ли способ также перебрать все подчиненные объекты и установить их строки вstring.Empty если найденnull?

Вот пример объекта «контакт»:

new contact 
{
  a = "",
  b = "",
  c = ""
  new contact_sub1 
  {
     1 = "",
     2 = "",
     3 = ""
  },
  d = ""
}

В основном я также должен проверить вcontact_sub1 для нулей и замените значение пустымstring.

Ответы на вопрос(1)

Ваш ответ на вопрос