private object CreateInstance(Type mappedType, DependencyResolverScope scope)
        {
            var    constructor = mappedType.GetConstructors(BindingFlags.Public | BindingFlags.Instance);
            object instance;

            if (constructor.Length == 0)
            {
                instance = Activator.CreateInstance(mappedType);
            }
            else
            {
                var      parameters     = constructor[0].GetParameters();
                object[] paramInstances = new object[parameters.Length];
                for (int i = 0; i < parameters.Length; i++)
                {
                    paramInstances[i] = GetScopedOrGlobalService(scope, parameters[i].ParameterType);
                }
                instance = constructor[0].Invoke(paramInstances);
            }

            return(instance);
        }
Exemple #2
0
 public DependencyResolverScope(DependencyResolverContext context)
 {
     this.context = context;
 }