Фунция var_dump в C# - класс ObjectDumper

Опубликовано Vladimir - пт, 14.08.2009 - 15:41

Добавить комментарий

Содержимое данного поля является приватным и не предназначено для показа.

Filtered HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <p> <br><b><i> <img src alt height width>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Для отладки в боевой конфигурации может оказаться удобным сохранять дамп объектов в лог

В php для этих целей служат функции print_r() и var_dump() в C# встроенной функции нет, но есть пример класса ObjectDumper от MS который выводит всю необходимую информаци.

Если требуется также выводить  не публичные переменные объекта, то  (примерно в строку 34) добавляем флаг BindingFlags.NonPublic

MemberInfo[] members = element.GetType().GetMembers(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

Пример вызова для записи в файл:

FileInfo t = new FileInfo("dump.txt");

StreamWriter writer = t.CreateText();

ObjectDumper.Write(qq, 5, writer);

writer.Close();