Qual é a melhor maneira de despejar objetos inteiros em um log em C #?

Portanto, para visualizar o estado de um objeto atual em tempo de execução, gosto muito do que a janela Imediata do Visual Studio me fornece. Apenas fazendo um simples

? objectname

Vai me dar um 'despejo' bem formatado do objeto.

Existe uma maneira fácil de fazer isso no código, para que eu possa fazer algo semelhante ao fazer logon?

questionAnswers(12)

yourAnswerToTheQuestion