Exemplo n.º 1
0
 public static string?GetCode <T>(string key)
 {
     return((EnumFieldCache.Get(typeof(T))
             .Where(kvp => kvp.Key.NiceToString() == key)
             .Select(kvp => kvp.Value.GetCustomAttribute <CodeAttribute>() !.Code))
            .SingleOrDefaultEx());
 }
Exemplo n.º 2
0
 public static T?GetByCode <T>(string code)
     where T : struct, Enum
 {
     return((T?)(object?)EnumFieldCache.Get(typeof(T))
            .Where(kvp => kvp.Value.GetCustomAttribute <CodeAttribute>() !.Code == code)
            .Select(kvp => kvp.Key)
            .SingleOrDefaultEx());
 }
Exemplo n.º 3
0
        public static string NiceToString(this Enum a)
        {
            var fi = EnumFieldCache.Get(a.GetType()).TryGetC(a);

            if (fi != null)
            {
                return(GetMemberNiceName(fi) ?? DefaultMemberDescription(fi));
            }

            return(a.ToString().NiceName());
        }
Exemplo n.º 4
0
 static IEnumerable <MemberInfo> GetMembers(Type type)
 {
     if (type.IsEnum)
     {
         return(EnumFieldCache.Get(type).Values);
     }
     else if (type.IsAbstract && type.IsSealed) // static
     {
         return(type.GetFields(staticFlags).Cast <MemberInfo>());
     }
     else
     {
         return(type.GetProperties(instanceFlags).Concat(type.GetFields(instanceFlags).Cast <MemberInfo>()));
     }
 }