This question already has answers here:
How do I use the LINQPad Dump() extension method in Visual Studio? [closed]
(4个答案)
5年前关闭。
我在代码中使用了很多Linq查询,并且正在寻找一个提供与LinqPad提供的格式类似的Dump()函数的库。 LinqPad的Dump()扩展方法确实非常不错,因为它可以很好地处理嵌套集合。
理想情况下,它将以纯文本格式打印出漂亮的表格,但是我可以吐出HTML或其他格式正确的数据。
VS的ObjectDumper示例完全不会剪切它。
VB(由于需要在VB应用中进行转换,所以我需要进行转换):
您需要将linqpad可执行文件以及
这将启动您的默认Web浏览器,显示linqpad将生成的确切输出。
(4个答案)
5年前关闭。
我在代码中使用了很多Linq查询,并且正在寻找一个提供与LinqPad提供的格式类似的Dump()函数的库。 LinqPad的Dump()扩展方法确实非常不错,因为它可以很好地处理嵌套集合。
理想情况下,它将以纯文本格式打印出漂亮的表格,但是我可以吐出HTML或其他格式正确的数据。
VS的ObjectDumper示例完全不会剪切它。
最佳答案
这就是我一直在使用的:
Special thanks to this thread (especially Pat Kujawa's & anunay's comments)
C#(从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
添加为项目中的引用。这将启动您的默认Web浏览器,显示linqpad将生成的确切输出。
关于linq - 是否有提供像LinqPad这样的格式化Dump()函数的库? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6032908/
10-11 04:02