private static List FindValidFunctionTypes()

in src/Google.Cloud.Functions.Hosting/HostingInternals.cs [259:268]


        private static List<Type> FindValidFunctionTypes(params Type[] types)
        {
            return types.Where(IsFunctionClass).ToList();
            static bool IsFunctionClass(Type t) =>
                t.IsClass && !t.IsAbstract && !t.IsGenericType &&
                (typeof(IHttpFunction).IsAssignableFrom(t) ||
                typeof(ICloudEventFunction).IsAssignableFrom(t) ||
                GetGenericInterfaceImplementationTypeArgument(t, typeof(ICloudEventFunction<>)) is object) ||
                GetGenericInterfaceImplementationTypeArguments(t, typeof(ITypedFunction<,>)) is object;
        }