This is what I've been using:
Special thanks to this thread (especially Pat Kujawa's & anunay's comments)
C# (Straight from Pat Kujawa's comment (though I made it return itself so that it chains like linqpad's version does)):
public static T Dump<T>(this T o) {
var localUrl = Path.GetTempFileName() + ".html";
using (var writer = LINQPad.Util.CreateXhtmlWriter(true))
{
writer.Write(o);
File.WriteAllText(localUrl, writer.ToString());
}
Process.Start(localUrl);
return o;
}
VB (my conversion since I needed it in a VB app):
Public Module LinqDebugging
<System.Runtime.CompilerServices.Extension()>
Public Function Dump(Of T)(ByVal o As T) As T
Dim localUrl = Path.GetTempFileName() + ".html"
Using writer = LINQPad.Util.CreateXhtmlWriter(True)
writer.Write(o)
File.WriteAllText(localUrl, writer.ToString())
End Using
Process.Start(localUrl)
Return o
End Function
End Module
You will need to add the linqpad executable as a reference in your project as well as System.IO
and System.Diagnostics
This launches your default web browser showing the exact output that linqpad would generate.