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); }
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); }
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); }
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); }
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); }