protected override bool TryCreateProxy(object source, ObjectSourceDescription description, out ISourceProxy proxy) { proxy = null; var path = description.Path; if (path.Count <= 0) { if (log.IsWarnEnabled) { log.Warn("Unable to bind: an empty path node list!."); } return(false); } PathToken token = path.AsPathToken(); if (path.Count == 1) { proxy = this.Create(source, token); if (proxy != null) { return(true); } return(false); } proxy = new ChainedObjectSourceProxy(source, token, this); return(true); }
protected override bool TryCreateProxy(object source, ObjectSourceDescription description, out ISourceProxy proxy) { proxy = null; var path = description.Path; if (path.Count <= 0) { throw new ProxyException("The path nodes of the ObjectSourceDescription \"{0}\" is empty.", description.ToString()); } PathToken token = path.AsPathToken(); if (path.Count == 1) { proxy = this.Create(source, token); if (proxy != null) { return(true); } return(false); } proxy = new ChainedObjectSourceProxy(source, token, this); return(true); }