Esempio n. 1
0
        public void Test01Parse()
        {
            int wrongParse;

            Throws <ArgumentException>(() => EnumTargetingHelpers.TryParse("2", out wrongParse));
            Throws <ArgumentException>(() => EnumHelper.TryParse("2", out wrongParse));
            Throws <ArgumentException>(() => EnumHelper.TryParse <int>("2"));

            Flags result1;
            Flags result2;

            AreEqual(
                EnumHelper.TryParse(nameof(Flags.A), out result1),
                EnumTargetingHelpers.TryParse(nameof(Flags.A), out result2));
            AreEqual(result1, result2);
            AreEqual(result1, EnumHelper.TryParse <Flags>(nameof(Flags.A)));

            AreEqual(
                EnumHelper.TryParse(Undef.ToString(), out result1),
                EnumTargetingHelpers.TryParse(Undef.ToString(), out result2));
            AreEqual(result1, result2);
            AreEqual(result1, EnumHelper.TryParse <Flags>(Undef.ToString()));

            AreEqual(
                EnumHelper.TryParse(nameof(Flags.CD), out result1),
                EnumTargetingHelpers.TryParse(nameof(Flags.CD), out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse(Abcd.ToString(), out result1),
                EnumTargetingHelpers.TryParse(Abcd.ToString(), out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse(AbU.ToString(), out result1),
                EnumTargetingHelpers.TryParse(AbU.ToString(), out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse("0", out result1),
                EnumTargetingHelpers.TryParse("0", out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse("1", out result1),
                EnumTargetingHelpers.TryParse("1", out result2));
            AreEqual(result1, result2);
        }
Esempio n. 2
0
        public void Test01Parse()
        {
            Flags result1;
            Flags result2;

            AreEqual(
                EnumHelper.TryParse(nameof(Flags.A), out result1),
                EnumTargetingHelpers.TryParse(nameof(Flags.A), out result2));
            AreEqual(result1, result2);
            AreEqual(result1, EnumHelper.TryParse <Flags>(nameof(Flags.A)));

            AreEqual(
                EnumHelper.TryParse(Undef.ToString(), out result1),
                EnumTargetingHelpers.TryParse(Undef.ToString(), out result2));
            AreEqual(result1, result2);
            AreEqual(result1, EnumHelper.TryParse <Flags>(Undef.ToString()));

            AreEqual(
                EnumHelper.TryParse(nameof(Flags.CD), out result1),
                EnumTargetingHelpers.TryParse(nameof(Flags.CD), out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse(Abcd.ToString(), out result1),
                EnumTargetingHelpers.TryParse(Abcd.ToString(), out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse(AbU.ToString(), out result1),
                EnumTargetingHelpers.TryParse(AbU.ToString(), out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse("0", out result1),
                EnumTargetingHelpers.TryParse("0", out result2));
            AreEqual(result1, result2);

            AreEqual(
                EnumHelper.TryParse("1", out result1),
                EnumTargetingHelpers.TryParse("1", out result2));
            AreEqual(result1, result2);
        }
Esempio n. 3
0
 public static bool TryParse <TEnum>(string name, bool ignoreCase, out TEnum result)
     where TEnum : struct, IComparable, IFormattable, IConvertible =>
 Holder <TEnum> .GetNameValues(ignoreCase).TryGetValue(name, out result) ||
 EnumClass.TryParse(name, ignoreCase, out result);
Esempio n. 4
0
 public static bool TryParse <TEnum>([NotNull] string name, bool ignoreCase, out TEnum result)
     where TEnum : struct, Enum =>
 Holder <TEnum> .GetNameValues(ignoreCase).TryGetValue(name, out result) ||
 EnumTargetingHelpers.TryParse(name, ignoreCase, out result);