C# 什么是nHibernate CollectionProxy
我在努力理解nHibernate中暴露出来的问题。返回列表集合是否只是ICollection的一个扩展,如果是,为什么要使用代理模式?您看到的是Visual Studie可扩展性生态系统。首先,我们可以看到,此类位于名称空间中:C# 什么是nHibernate CollectionProxy,c#,visual-studio,nhibernate,vs-extensibility,C#,Visual Studio,Nhibernate,Vs Extensibility,我在努力理解nHibernate中暴露出来的问题。返回列表集合是否只是ICollection的一个扩展,如果是,为什么要使用代理模式?您看到的是Visual Studie可扩展性生态系统。首先,我们可以看到,此类位于名称空间中: namespace NHibernate.DebugHelpers 这意味着,它仅用于调试目的 它是如何工作的? 首先,我们可以看到在公共对象[]项上有一些属性声明,如下所示: [DebuggerBrowsable(DebuggerBrowsableState.Roo
namespace NHibernate.DebugHelpers
这意味着,它仅用于调试目的
它是如何工作的?
首先,我们可以看到在公共对象[]项上有一些属性声明,如下所示:
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public object[] Items
{
..
这是对Visual Studio调试器的指令,用于:
观察集合时隐藏根(如枚举名称所示)。实际上,它将在调试窗口中保存一行。我们将只看到该系列的商品
怎么把它挂上?
只需将此帮助器用作另一个属性声明,例如,在以下位置:
[DebuggerTypeProxy(typeof(CollectionProxy))]
公共类PersistentGenericBag:PersistentBag,IList
……就是这样。。。没什么特别的。。。只是Visual Studio扩展性框架的一个功能…现在我看到XAML中使用了类似的模式,其中为Blend等设计应用程序提供了代理对象。在运行时期间,不使用代理。
[DebuggerTypeProxy(typeof (CollectionProxy<>))]
public class PersistentGenericBag<T> : PersistentBag, IList<T>