How to dump object properties in C#

gpeipman
25.3K views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

This example demonstrates how to dump object properties to console or some other stream using reflection. It works only on instance properties as there is rare need to dump out static part of objects.

The idea is simple:

  1. Create dictionary with properties and their values using reflection
  2. For null-values use empty string
  3. Step through dictionary and write properties and their values to given text writer

Code sample below demonstrates console application that dumps out properties of simple Person object. Be careful with object dumps when working with legacy code where properties may contain expensive code.

From here

It's possible to move to extension methods with code above and have Dump() method for all non-static objects. Negative side of extension method is the fact that when it is in some other namespace then developers must be aware about this namespace. But if this piece of code is needed then they will know it of course.

Here is the extension method version of code above.

References

Original article: How to dump object properties by Gunnar Peipman

Open Source Your Knowledge: become a Contributor and help others learn. Create New Content