gpt4 book ai didi

visual-studio-2008 - DebuggerDisplay 属性未按预期工作

转载 作者:行者123 更新时间:2023-12-01 00:06:19 31 4
gpt4 key购买 nike

我知道这个属性应该在 C# 中工作,但在我的情况下它没有。
我有一个带有懒惰属性 child 的类。访问此属性可能会产生往返服务器的副作用。所以,自然地,当我只是在调试器观察窗口中观察它时,我不希望发生这种情况。

省略所有不相关的细节,源看起来很普通:

[DebuggerDisplay("(Frozen) {m_children}")]
public IList<IEntityBase> Children
{
get
{
if (m_children == null)
{
m_children = FetchChildrenFromDB(this);
}
return m_children;
}
}

然而,当我观察对象并展开 this 时在监视窗口中,我没有在显示中看到 (Frozen),这意味着调试器只是忽略了该属性。

DebuggerDisplay image snapshot

根据 Reflector 的说法,该属性确实存在。我用的是VS2008。

有任何想法吗?

最佳答案

如果您在监视窗口中看到以下内容:

[+]  ObjectName    | { namespace.object}

确保 “工具->选项->调试->常规->在变量窗口中显示对象的原始结构”未检查。

一旦我清除了这个,我的 DebuggerDisplay 属性就会正确显示(包括显示我添加的所有“WTF”和“Huh”......)

关于visual-studio-2008 - DebuggerDisplay 属性未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302034/

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