public RegisteredComponent(IIoCContainer iocContainerParent, Type componentType, RegisteredParameters parameters) : this() { _iocContainerParent = iocContainerParent; _componentType = componentType; _constructorParameters = parameters; }
public void RegisterComponent <ComponentType>(params RegisteredParameter[] parameters) { Type componentType = typeof(ComponentType); RegisteredParameters registeredParameters = new RegisteredParameters(parameters); RegisteredComponent registeredComponent = new RegisteredComponent(this, componentType, registeredParameters); _registeredComponents.Add(componentType, registeredComponent); }
public void RegisterComponent <ComponentAbstractType, ComponentConcreteType>(params RegisteredParameter[] parameters) { Type abstractType = typeof(ComponentAbstractType); Type concreteType = typeof(ComponentConcreteType); if (concreteType.IsAbstract || concreteType.IsInterface) { throw new NotSupportedException("The provided type is not a concrete type."); } RegisteredParameters registeredParameters = new RegisteredParameters(parameters); RegisteredComponent registeredComponent = new RegisteredComponent(this, concreteType, registeredParameters); _registeredComponents.Add(abstractType, registeredComponent); }