private static void VerifyValueEnumRequirementCorrect <T>(int expectedValue, EnumConversionCallback <T> conversion, string _) #if NETSTANDARD1_0 || PROFILE259 // Ditto... where T : struct, IComparable, IFormattable // i.e. Enum #else // IConvertible missing from netstandard1.2 where T : struct, IComparable, IFormattable, IConvertible // i.e. Enum #endif { expectedValue = expectedValue.AssertTrue(x => FruitOrdinalValues.Any(y => y == x)); conversion.AssertNotNull().Invoke(expectedValue).RequiresDefined(_.AssertNotNull().AssertNotEmpty()); }
private static Action VerifyValueEnumRequirementInvalid <T>(int invalidValue, EnumConversionCallback <T> conversion, string argumentName) #if NETSTANDARD1_0 || PROFILE259 // Ditto... where T : struct, IComparable, IFormattable // i.e. Enum #else // IConvertible missing from netstandard1.2 where T : struct, IComparable, IFormattable, IConvertible // i.e. Enum #endif { invalidValue = invalidValue.AssertFalse(x => FruitOrdinalValues.Any(y => y == x)); return(() => conversion.Invoke(invalidValue).RequiresDefined(argumentName)); }