Ответ 1
Это то, что я использовал:
Особая благодарность этой теме (особенно комментарии Пэт Куява и anunay)
С# (прямо из комментария Pat Kujawa (хотя я сделал это, чтобы он возвращался сам, так что он работает как версия linqpad)):
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 (мое преобразование, так как оно мне нужно в приложении VB):
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
Вам нужно будет добавить исполняемый файл linqpad в качестве ссылки в вашем проекте, а также System.IO
и System.Diagnostics
Это запускает ваш веб-браузер по умолчанию, показывающий точный вывод, который будет генерировать linqpad.