internal object CreateInstance(IInterfaceHandler adapter) { var paramsArray = new List <object>(ConstructorArguments) { adapter }.ToArray(); return(Activator.CreateInstance(InterfaceAdapterType, paramsArray)); }
/// <inheritdoc /> public object Create(Type interfaceType, IInterfaceHandler handler) { if (!_activatorMap.TryGetValue(interfaceType, out var activator)) { activator = _activatorFactory.Create(interfaceType); _activatorMap.Add(interfaceType, activator); } return(activator.CreateInstance(handler)); }
/// <summary> /// Adds a handler to the collection of handlers. /// </summary> /// <param name="interfaceId">The id of the interface.</param> /// <param name="handler">The handler for theinterface.</param> public void AddHandler(int interfaceId, IInterfaceHandler handler) { this.interfacesHandlers.Add(interfaceId, handler); }