gpt4 book ai didi

c# - 什么是 nHibernate CollectionProxy

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:11 24 4
gpt4 key购买 nike

我正在尝试理解 CollectionProxy暴露在 nHibernate 中。它只是 ICollection 的扩展以返回列表集合吗?如果是这样,为什么要使用代理模式?

最佳答案

您正在观察的是 Visual Studie 可扩展性生态系统。首先,正如我们所见,这个类在命名空间中:

namespace NHibernate.DebugHelpers

这意味着,它仅用于调试目的

它是如何工作的?

首先我们可以看到在 public object[] Items 上有一些属性声明,如下所示:

[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public object[] Items
{
..

这是指示 Visual Studio 调试器:

Hide a Root when observing the collection (as the enum name says). Effectively, it will save a line in a debug window. We will see just items of that collection...

如何 Hook ?

只需将此助手用作另一个属性声明,例如就像这里的 PersistentGenericBag :

[DebuggerTypeProxy(typeof (CollectionProxy<>))]
public class PersistentGenericBag<T> : PersistentBag, IList<T>

...就是这样...没什么特别的...只是 Visual Studio 可扩展性框架的一个功能...

关于c# - 什么是 nHibernate CollectionProxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946374/

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