private object Get(Type type, InjectionProvider.ProviderContext context) { Type dependencyType = type; if (typeof(ISet <>).IsAssignableFrom(type)) { Type[] generics = type.GetGenericArguments(); if (generics.Length == 1) { dependencyType = generics[0]; } } InjectionProvider provider; if (this.providerMap.TryGetValue(dependencyType, out provider)) { return(provider.GetInstance(this, context)); } throw new InvalidOperationException($"No dependency with type '{type.Name}' defined."); }
private T Get <T>(InjectionProvider.ProviderContext context) { return((T)this.Get(typeof(T), context)); }