BTDB.FieldHandler.EnumFieldHandler.EnumConfiguration.EnumConfiguration C# (CSharp) Метод

EnumConfiguration() публичный Метод

public EnumConfiguration ( Type enumType ) : System
enumType System.Type
Результат System
            public EnumConfiguration(Type enumType)
            {
                _signed = IsSignedEnum(enumType);
                _flags = IsFlagsEnum(enumType);
                _names = enumType.GetEnumNames();
                var members = enumType.GetMembers(BindingFlags.Static | BindingFlags.Public);
                Debug.Assert(members.Length == _names.Length);
                for (int i = 0; i < members.Length; i++)
                {
                    var a = members[i].GetCustomAttributes<PersistedNameAttribute>().FirstOrDefault();
                    if (a != null) _names[i] = a.Name;
                }
                var undertype = enumType.GetEnumUnderlyingType();
                var enumValues = enumType.GetEnumValues();
                IEnumerable<ulong> enumValuesUlongs;
                if (undertype == typeof(int)) enumValuesUlongs = enumValues.Cast<int>().Select(i => (ulong)i);
                else if (undertype == typeof(uint)) enumValuesUlongs = enumValues.Cast<uint>().Select(i => (ulong)i);
                else if (undertype == typeof(sbyte)) enumValuesUlongs = enumValues.Cast<sbyte>().Select(i => (ulong)i);
                else if (undertype == typeof(byte)) enumValuesUlongs = enumValues.Cast<byte>().Select(i => (ulong)i);
                else if (undertype == typeof(short)) enumValuesUlongs = enumValues.Cast<short>().Select(i => (ulong)i);
                else if (undertype == typeof(ushort)) enumValuesUlongs = enumValues.Cast<ushort>().Select(i => (ulong)i);
                else if (undertype == typeof(long)) enumValuesUlongs = enumValues.Cast<long>().Select(i => (ulong)i);
                else enumValuesUlongs = enumValues.Cast<ulong>();
                _values = enumValuesUlongs.ToArray();
            }

Same methods

EnumFieldHandler.EnumConfiguration::EnumConfiguration ( byte configuration ) : System