/// <summary>
 /// Prevents a default instance of the <see cref="InputObjectResolver" /> class from being created.
 /// </summary>
 /// <param name="otherResolver">The other resolver to copy core data from.</param>
 private InputObjectResolver(InputObjectResolver otherResolver)
 {
     _graphType      = otherResolver._graphType;
     _objectType     = otherResolver._objectType;
     _propSetters    = otherResolver._propSetters;
     _fieldResolvers = otherResolver._fieldResolvers;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="InputObjectResolver" /> class.
 /// </summary>
 /// <param name="graphType">The graph type in the target schema for the object in question.</param>
 /// <param name="concreteType">The concrete type to render the data as.</param>
 public InputObjectResolver(IInputObjectGraphType graphType, Type concreteType)
 {
     _graphType      = Validation.ThrowIfNullOrReturn(graphType, nameof(graphType));
     _objectType     = Validation.ThrowIfNullOrReturn(concreteType, nameof(concreteType));
     _propSetters    = InstanceFactory.CreatePropertySetterInvokerCollection(concreteType);
     _fieldResolvers = new Dictionary <string, IInputValueResolver>();
 }
예제 #3
0
 private SyncSession(string planName, DataProviderBase provider, PropertyComparerCollection comparers, PropertySetterCollection setters, IList <LogProviderBase> loggers, PropertyMappingCollection mappings)
 {
     this.planName  = planName;
     this.provider  = provider;
     this.comparers = comparers;
     this.setters   = setters;
     this.loggers   = loggers;
     this.mappings  = mappings;
     this.batchSize = 1;
 }
예제 #4
0
        private static PropertySetterCollection CreateSetters(HashSet <string> setterNames, ComparerConfigurationElementCollection setterConfigSet)
        {
            var setters = new PropertySetterCollection();

            foreach (string name in setterNames)
            {
                var itemConfig = setterConfigSet[name];
                if (itemConfig == null)
                {
                    throw new ConfigurationErrorsException(string.Format("没有找到名为 {0} 的设置器", name));
                }

                setters.Add(name, CreateInstance <IPropertySetter>(itemConfig.Type));
            }

            return(setters);
        }