Exemplo n.º 1
0
        /// <summary>
        /// Return new object required class
        /// </summary>
        /// <param name="abstration"></param>
        /// <returns></returns>
        public object Get(Type abstration)
        {
            ConstructorInfo constructorInfo;
            List <object>   arguments = new List <object>();

            if (!_dependencyTable.IsPresent(abstration))
            {
                throw new Exception("Dependency not present");
            }
            constructorInfo = _dependencyTable.GetDependency(abstration).GetConstructors().First();

            foreach (ParameterInfo item in constructorInfo.GetParameters())
            {
                arguments.Add(Get(item.ParameterType));
            }
            return(constructorInfo.Invoke(arguments.ToArray()));;
        }