private static void RegisterArrayResolver(UnregisteredTypeEventArgs e, global::SimpleInjector.Container container, Type elementType) { var producer = container.GetRegistration(typeof(IEnumerable <>) .MakeGenericType(elementType)); var enumerableExpression = producer.BuildExpression(); var arrayMethod = typeof(Enumerable).GetMethod("ToArray") .MakeGenericMethod(elementType); var arrayExpression = Expression.Call(arrayMethod, enumerableExpression); e.Register(arrayExpression); }