Ejemplo n.º 1
0
        private static BidirectionalDictionary <string, string> InitializeEnumType(Type type)
        {
            BidirectionalDictionary <string, string> map = new BidirectionalDictionary <string, string>(
                StringComparer.OrdinalIgnoreCase,
                StringComparer.OrdinalIgnoreCase);

            foreach (FieldInfo f in type.GetFields())
            {
                string n1 = f.Name;
                string n2;

#if !NET20
                n2 = f.GetCustomAttributes(typeof(EnumMemberAttribute), true)
                     .Cast <EnumMemberAttribute>()
                     .Select(a => a.Value)
                     .SingleOrDefault() ?? f.Name;
#else
                n2 = f.Name;
#endif

                string s;
                if (map.TryGetBySecond(n2, out s))
                {
                    throw new InvalidOperationException("Enum name '{0}' already exists on enum '{1}'.".FormatWith(CultureInfo.InvariantCulture, n2, type.Name));
                }

                map.Set(n1, n2);
            }

            return(map);
        }
Ejemplo n.º 2
0
        private static BidirectionalDictionary <string, string> InitializeEnumType(Type type)
        {
            BidirectionalDictionary <string, string> dictionary = new BidirectionalDictionary <string, string>(StringComparer.OrdinalIgnoreCase, StringComparer.OrdinalIgnoreCase);

            foreach (FieldInfo info in type.GetFields())
            {
                string str2;
                string name = info.Name;
                if (< > c.< > 9__1_0 == null)
                {
                }
                string local1 = info.GetCustomAttributes(typeof(EnumMemberAttribute), true).Cast <EnumMemberAttribute>().Select <EnumMemberAttribute, string>((< > c.< > 9__1_0 = new Func <EnumMemberAttribute, string>(< > c.< > 9. < InitializeEnumType > b__1_0))).SingleOrDefault <string>();
                if (local1 != null)
                {
                    str2 = local1;
                }
                else
                {
                    str2 = info.Name;
                }
                if (dictionary.TryGetBySecond(str2, out _))
                {
                    throw new InvalidOperationException("Enum name '{0}' already exists on enum '{1}'.".FormatWith(CultureInfo.InvariantCulture, str2, type.Name));
                }
                dictionary.Set(name, str2);
            }
            return(dictionary);
        }
Ejemplo n.º 3
0
        private static string ResolvedEnumName(BidirectionalDictionary <string, string> map, string enumText)
        {
            string resolvedEnumName;

            map.TryGetBySecond(enumText, out resolvedEnumName);
            resolvedEnumName = resolvedEnumName ?? enumText;
            return(resolvedEnumName);
        }
Ejemplo n.º 4
0
        private static string ResolvedEnumName(BidirectionalDictionary <string, string> map, string enumText)
        {
            string str;

            map.TryGetBySecond(enumText, out str);
            str = str ?? enumText;
            return(str);
        }
Ejemplo n.º 5
0
        private static string ResolvedEnumName(
            BidirectionalDictionary <string, string> map,
            string enumText)
        {
            string first;

            map.TryGetBySecond(enumText, out first);
            return(first ?? enumText);
        }
Ejemplo n.º 6
0
 private static string ResolvedEnumName(BidirectionalDictionary <string, string> map, string enumText)
 {
     map.TryGetBySecond(enumText, out string str);
     if (str != null)
     {
         return(str);
     }
     return(enumText);
 }
Ejemplo n.º 7
0
        private static bool TryResolvedEnumName(BidirectionalDictionary <string, string> map, string enumText, out string resolvedEnumName)
        {
            if (map.TryGetBySecond(enumText, out resolvedEnumName))
            {
                return(true);
            }

            resolvedEnumName = null;
            return(false);
        }
Ejemplo n.º 8
0
        private static BidirectionalDictionary <string, string> InitializeEnumType(
            Type type)
        {
            BidirectionalDictionary <string, string> bidirectionalDictionary = new BidirectionalDictionary <string, string>((IEqualityComparer <string>)StringComparer.OrdinalIgnoreCase, (IEqualityComparer <string>)StringComparer.OrdinalIgnoreCase);

            foreach (FieldInfo field in type.GetFields())
            {
                string name   = field.Name;
                string second = field.GetCustomAttributes(typeof(EnumMemberAttribute), true).Cast <EnumMemberAttribute>().Select <EnumMemberAttribute, string>((Func <EnumMemberAttribute, string>)(a => a.Value)).SingleOrDefault <string>() ?? field.Name;
                if (bidirectionalDictionary.TryGetBySecond(second, out string _))
                {
                    throw new InvalidOperationException("Enum name '{0}' already exists on enum '{1}'.".FormatWith((IFormatProvider)CultureInfo.InvariantCulture, (object)second, (object)type.Name));
                }
                bidirectionalDictionary.Set(name, second);
            }
            return(bidirectionalDictionary);
        }
Ejemplo n.º 9
0
        private static BidirectionalDictionary <string, string> InitializeEnumType(Type type)
        {
            string str;
            BidirectionalDictionary <string, string> bidirectionalDictionary = new BidirectionalDictionary <string, string>(StringComparer.OrdinalIgnoreCase, StringComparer.OrdinalIgnoreCase);

            FieldInfo[] fields = type.GetFields();
            for (int i = 0; i < (int)fields.Length; i++)
            {
                FieldInfo fieldInfo = fields[i];
                string    name      = fieldInfo.Name;
                string    str1      = (
                    from EnumMemberAttribute a in fieldInfo.GetCustomAttributes(typeof(EnumMemberAttribute), true)
                    select a.Value).SingleOrDefault <string>() ?? fieldInfo.Name;
                if (bidirectionalDictionary.TryGetBySecond(str1, out str))
                {
                    throw new InvalidOperationException("Enum name '{0}' already exists on enum '{1}'.".FormatWith(CultureInfo.InvariantCulture, str1, type.Name));
                }
                bidirectionalDictionary.Set(name, str1);
            }
            return(bidirectionalDictionary);
        }
Ejemplo n.º 10
0
        private static BidirectionalDictionary <string, string> InitializeEnumType(Type type)
        {
            BidirectionalDictionary <string, string> map = new BidirectionalDictionary <string, string>(
                StringComparer.OrdinalIgnoreCase,
                StringComparer.OrdinalIgnoreCase);

            foreach (FieldInfo f in type.GetFields())
            {
                string n1 = f.Name;
                string n2;

                n2 = f.Name;

                string s;
                if (map.TryGetBySecond(n2, out s))
                {
                    throw new InvalidOperationException("Enum name '{0}' already exists on enum '{1}'.".FormatWith(CultureInfo.InvariantCulture, n2, type.Name));
                }

                map.Set(n1, n2);
            }

            return(map);
        }