<PackageReference Include="Castle.Core" Version="4.3.0" />

Castle.Components.DictionaryAdapter.VirtualObject<TNode>

public abstract class VirtualObject<TNode> : IVirtual<TNode>, IVirtual
namespace Castle.Components.DictionaryAdapter { public abstract class VirtualObject<TNode> : IVirtual<TNode>, IVirtual { public abstract bool IsReal { get; } public event EventHandler Realized; protected VirtualObject(); protected VirtualObject(IVirtualSite<TNode> site); protected void AddSite(IVirtualSite<TNode> site); protected void RemoveSite(IVirtualSite<TNode> site); public TNode Realize(); protected abstract bool TryRealize(out TNode node); protected virtual void OnRealized(); } }