using System.Collections.Concurrent; namespace ServerDatabase; internal static class Ext { internal static bool IsNullableEnum(this Type t) { Type u = Nullable.GetUnderlyingType(t)!; return (u != null) && u.IsEnum; } public static OutputType[] Cast(InputType f) { Array inputArray_in = (Array)(object)f; var aRange = Partitioner.Create(0, inputArray_in.Length); OutputType[] aResult = new OutputType[inputArray_in.Length]; Parallel.ForEach(aRange, (r) => { for (int i = r.Item1; i < r.Item2; i++) { aResult[i] = (OutputType)(inputArray_in.GetValue(i)); } }); return aResult; } }