Example #1
0
            private static ulong[] CreateValues()
            {
                var enumType = typeof(T).GetTypeInfo();

                if (enumType.IsFlagsEnum())
                {
                    // only need the actual values if we're in Flags mode
                    var values = Enum.GetValues(enumType);
                    var ret    = new ulong[values.Length];
                    for (var i = 0; i < values.Length; i++)
                    {
                        var obj = values.GetValue(i);
                        var asT = (T)Utils.NonNull(obj);
                        ret[i] = Utils.EnumToULong(asT);
                    }

                    return(ret);
                }

                return(Array.Empty <ulong>());
            }
Example #2
0
            private static ulong[] CreateULongValues()
            {
                var enumType = typeof(T).GetTypeInfo();

                // note that this is different from CreateValues()
                //   which means these don't match like they do in formatting
                if (!enumType.IsFlagsEnum())
                {
                    // only need ULongValues for [Flags] enums
                    return(Array.Empty <ulong>());
                }

                var values = Enum.GetValues(enumType);
                var ret    = new ulong[values.Length];

                for (var i = 0; i < values.Length; i++)
                {
                    var obj = values.GetValue(i);
                    obj    = Utils.NonNull(obj);
                    ret[i] = Utils.EnumToULong((T)obj);
                }

                return(ret);
            }