public ChainedObjectSourceProxy(object source, PathToken token, INodeProxyFactory factory) : base(source) { this.factory = factory; count = token.Path.Count; proxies = new ProxyEntry[count]; Bind(source, token); }
public virtual void Unregister(INodeProxyFactory factory) { if (factory == null) { return; } this.factories.RemoveAll(pair => pair.factory == factory); }
public virtual void Register(INodeProxyFactory factory, int priority = 100) { if (factory == null) { return; } this.factories.Add(new PriorityFactoryPair(factory, priority)); this.factories.Sort((x, y) => y.priority.CompareTo(x.priority)); }
public PriorityFactoryPair(INodeProxyFactory factory, int priority) { this.factory = factory; this.priority = priority; }