Visual Studio的即时窗口如何打印对象的所有成员?
如何使用输出窗口写入对象的所有成员? Trace.WriteLine 使用方法 ToString 并且不输出所有成员。是否有 API 可以让您无需编写自己的代码?
How can I using the output window write all the members of an object? Trace.WriteLine uses method ToString and doesn't output all the members. Is there API to do it without writing own code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以这样做:
You can do something like this:
它可能通过反射迭代成员。
It's probably iterating through the members via reflection.
特定对象上的 ToString() 方法被调用,如果该方法已被重写以显示所有成员,那就没问题了。然而,并非所有对象都实现了 ToString() 方法,在这种情况下,该方法返回对象类型信息。
编写一个使用
编辑:此函数将返回给定对象的属性、添加方法、事件以及您需要的所有其他内容。 (这是用 VB 编写的,这台工作电脑上没有 C#)
The ToString() method on the particular object gets called, and if that method has been overridden to show all members, then fine. However not all objects have their ToString() methods implemented, in which case the method returns the object type info.
Instead of calling ToString() write a custom function that uses reflection to enumerate the object members, and output that.
Edit: This function will return the given object's properties, add methods, events everything else you need. (It's in VB, no C# on this work PC)