示例#1
0
        internal object CreateInstance(IInterfaceHandler adapter)
        {
            var paramsArray = new List <object>(ConstructorArguments)
            {
                adapter
            }.ToArray();

            return(Activator.CreateInstance(InterfaceAdapterType, paramsArray));
        }
示例#2
0
        /// <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);
 }