/// <summary> /// Performs single argument assessment and provides particular message is assessment fails. /// </summary> /// <typeparam name="T">Argument type.</typeparam> /// <param name="expression">Argument expression.</param> /// <param name="assessment">Argument assessment to perform.</param> /// <param name="message">Message to be displayed if assessment fails.</param> public static void Argument <T>(Expression <Func <T> > expression, ArgumentAssessment <T> assessment, string message) { if (assessment == null) { return; } var argument = RetrieveArgument(expression); if (argument == null) { return; } try { assessment(argument, message); } catch (ArgumentException) { throw; } catch (Exception exception) { throw new ArgumentException(exception.Message, argument.Name, exception); } }
public static void Argument <T>(Expression <Func <T> > expression, ArgumentAssessment <T> assessment, string message) { Guard.Argument(expression, assessment, message); }