protected void Deploy()
        {
            var array = Enum.GetValues(typeof(T));

            foreach (Enum en in array)
            {
                String ens = en.ToString();
                Int32  eni = Convert.ToInt32(en);

                T ent = (T)Enum.ToObject(typeof(T), eni);


                EnumToString.Add(en, ens);
                EnumToInt32.Add(en, eni);
                EnumToType.Add(en, ent);
                StringToEnum.Add(ens, en);
                Int32ToEnum.Add(eni, en);
                TypeToEnum.Add(ent, en);
                StringToType.Add(ens, ent);
                TypeToString.Add(ent, ens);

                Int32ToType.Add(eni, ent);
                TypeToInt32.Add(ent, eni);

                if (eni > MaxInt)
                {
                    MaxInt = eni;
                    Max    = ent;
                }

                if (eni < MinInt)
                {
                    MinInt = eni;
                    Min    = ent;
                }
            }

            foreach (Enum en in array)
            {
                var enumComponents = en.getEnumListFromFlags();
                if (enumComponents.Count == 1)
                {
                    BaseFlags.Add(EnumToType[en]);
                }
                else
                {
                    CompositeFlags.Add(EnumToType[en]);
                }
            }
        }
Exemple #2
0
 private static bool HasFlag(CompositeFlags haystack, CompositeFlags needle)
 {
     return((haystack & needle) != 0);
 }