protected virtual bool TryCreateProxy(object target, BindingDescription description, out ITargetProxy proxy) { proxy = null; foreach (PriorityFactoryPair pair in this.factories) { try { var factory = pair.factory; if (factory == null) { continue; } proxy = factory.CreateProxy(target, description); if (proxy != null) { return(true); } } catch (Exception e) { if (log.IsWarnEnabled) { log.WarnFormat("Unable to bind:{0};exception:{1}", description.ToString(), e); } } } return(false); }
public ITargetProxy CreateProxy(object target, BindingDescription description) { ITargetProxy proxy = null; if (TryCreateProxy(target, description, out proxy)) { return(proxy); } if (log.IsWarnEnabled) { log.WarnFormat("Unable to bind: not found {0} on {1}", description.TargetName, target.GetType().Name); } throw new BindingException("Unable to bind: \"{0}\"", description.ToString()); }
public ITargetProxy CreateProxy(object target, BindingDescription description) { try { ITargetProxy proxy = null; if (TryCreateProxy(target, description, out proxy)) { return(proxy); } throw new NotSupportedException("Not found available proxy factory."); } catch (Exception e) { throw new ProxyException(e, "Unable to bind the \"{0}\".An exception occurred while creating a proxy for the \"{1}\" property of class \"{2}\".", description.ToString(), description.TargetName, target.GetType().Name); } }