/// <inheritdoc /> public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties) { if (! contractType.IsInstanceOfType(instance)) throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' using pre-manufactured instance of type '{1}'.", contractType, instance.GetType())); return new Handler(instance); }
/// <inheritdoc /> public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties) { if (! contractType.IsAssignableFrom(objectType)) throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' by creating an instance of type '{1}'.", contractType, objectType)); var objectFactory = new ObjectFactory(dependencyResolver, objectType, properties); return new SingletonHandler(objectFactory); }
/// <inheritdoc /> public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties) { if (!contractType.IsInstanceOfType(instance)) { throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' using pre-manufactured instance of type '{1}'.", contractType, instance.GetType())); } return(new Handler(instance)); }
/// <inheritdoc /> public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties) { if (!contractType.IsAssignableFrom(objectType)) { throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' by creating an instance of type '{1}'.", contractType, objectType)); } var objectFactory = new ObjectFactory(dependencyResolver, objectType, properties); return(new SingletonHandler(objectFactory)); }
/// <summary> /// Creates an object factory. /// </summary> /// <param name="dependencyResolver">The dependency resolver.</param> /// <param name="objectType">The object type.</param> /// <param name="properties">The object properties.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="dependencyResolver"/>, /// <paramref name="objectType"/> or <paramref name="properties"/> is null.</exception> public ObjectFactory(IObjectDependencyResolver dependencyResolver, Type objectType, PropertySet properties) { if (dependencyResolver == null) throw new ArgumentNullException("dependencyResolver"); if (objectType == null) throw new ArgumentNullException("objectType"); if (properties == null) throw new ArgumentNullException("properties"); this.dependencyResolver = dependencyResolver; this.objectType = objectType; this.properties = CanonicalizePropertiesToLowerCase(properties); }
/// <summary> /// Creates an object factory. /// </summary> /// <param name="dependencyResolver">The dependency resolver.</param> /// <param name="objectType">The object type.</param> /// <param name="properties">The object properties.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="dependencyResolver"/>, /// <paramref name="objectType"/> or <paramref name="properties"/> is null.</exception> public ObjectFactory(IObjectDependencyResolver dependencyResolver, Type objectType, PropertySet properties) { if (dependencyResolver == null) { throw new ArgumentNullException("dependencyResolver"); } if (objectType == null) { throw new ArgumentNullException("objectType"); } if (properties == null) { throw new ArgumentNullException("properties"); } this.dependencyResolver = dependencyResolver; this.objectType = objectType; this.properties = CanonicalizePropertiesToLowerCase(properties); }