我知道这个属性应该在 C# 中工作,但在我的情况下它没有。我有一个懒惰的属性儿童类。访问此属性可能会产生往返服务器的副作用。所以,很自然地,我不希望这种情况发生在我只是在调试器观察窗口中观察时。
省略所有不相关的细节,源看起来很普通:
[DebuggerDisplay("(Frozen) {m_children}")]
public IList<IEntityBase> Children
{
get
{
if (m_children == null)
{
m_children = FetchChildrenFromDB(this);
}
return m_children;
}
}
然而,当我观察对象并this
在观察窗口中展开时,我在显示中看不到 (Frozen),这意味着调试器只是忽略了该属性。
根据 Reflector 的说法,该属性确实存在。我用的是VS2008。
有任何想法吗?