private void buildResolver(Scope scope) { if (_resolver != null) { return; } lock (_locker) { if (_resolver != null) { return; } if (ErrorMessages.Any() || Dependencies.Any(x => x.ErrorMessages.Any())) { var errorResolver = new ErrorMessageResolver(this); _resolver = errorResolver.Resolve; } else { _resolver = BuildFuncResolver(scope); } } }
public void AttachResolver(Scope root) { if (ErrorMessages.Any() || Dependencies.Any(x => x.ErrorMessages.Any())) { _resolver = new ErrorMessageResolver(this); } else { _resolver = (IResolver)root.QuickBuild(_resolverType.CompiledType); _resolverType.ApplySetterValues(_resolver); } _resolver.Hash = GetHashCode(); _resolver.Name = Name; }