gpt4 book ai didi

c# - 显示项目集合时忽略 DebuggerDisplay

转载 作者:太空宇宙 更新时间:2023-11-03 13:31:45 26 4
gpt4 key购买 nike

假设我有一个对象:

[DebuggerDisplay("Bar={bar}")]
public class Foo
{
public String bar{get;set;}
}

当我只有一个 bar 实例时,调试器会正确显示 Bar="value of bar"但是当我有一个 Foo 的字典时,字典显示:

{[key, namespace.Foo]}

当我展开 kvp 时,我得到了预期的调试器显示字符串。

当我重写 Foo 中的 ToString() 并拥有 Foo 的字典时字典显示:

{[key, Bar="value of bar"]}

根据文档,如果 DebuggerDisplay 属性没有覆盖它,ToString() 仅用于调试器显示...

除单个实异常(exception),如何获取 debuggerDisplay 属性以在枚举情况下覆盖调试器字符串?

最佳答案

这个问题的一个优雅的解决方案是应用 DebuggerDisplay属性为 System.Collections.Generic.KeyValuePair<TKey,TValue>通过AssemblyInfo.cs如下:

using System.Collections.Generic;
using System.Diagnostics;

[assembly: DebuggerDisplay("[Key={Key}, Value={Value}]", Target = typeof(KeyValuePair<,>))]

( Source on StackoverFlow )

关于c# - 显示项目集合时忽略 DebuggerDisplay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com