Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
 public static void Argument <T>(Expression <Func <T> > expression, ArgumentAssessment <T> assessment, string message)
 {
     Guard.Argument(expression, assessment, message);
 }