public IEnumerable<IBinding> Resolve(IResolverContext context, Type type) { if (!type.IsGenericType) { return Enumerable.Empty<IBinding>(); } return context.FindBindings(type.GetGenericTypeDefinition()).Select(b => (IBinding)new Binding(type, new BindingMetadata()) { Provider = new StandardProvider(b.Provider.TargetType.MakeGenericType(type.GetGenericArguments().Where(t => !t.IsGenericParameter).ToArray())) }); }