【发布时间】:2011-10-05 10:13:47
【问题描述】:
给定以下示例类:
public class MyClass
{
public string S { get; set; }
public int I { get; set; }
public DateTime D { get; set; }
private float F { get; set; }
private long l;
public MyClass()
{
S = "foo";
I = 42;
D = new DateTime(2011, 11, 11);
F = 3.14f;
l = 12435;
}
}
如果我在我的应用程序中有一个此类的实例 myClass,则在调试模式 (Visual Studio 2010) 中逐步执行代码,并在某些时候将 myClass 类型输入到即时窗口中,显示如下:
{MyClass}
D: {11.11.2011 00:00:00}
F: 3.14
I: 42
l: 12435
S: "foo"
获取对象及其所有值的这种字符串表示形式对于日志记录非常有用。有没有一种简单易行的方法来实现这一目标?
我猜即时窗口使用反射来循环所有字段和属性,但我想我会问一下,以防万一已经存在一些实用功能或任何可以做的事情。
【问题讨论】:
-
我认为你应该搜索 c# object dumper
-
@Saeed Neamati:谢谢,您的提示帮助我更多地使用 Google 搜索,这让我找到了 ObjectDumper.cs (code.msdn.microsoft.com/LINQ-Sample-Queries-13a42a54/…)。
-
欢迎朋友。很高兴你得到你的答案:)