/// <summary> /// Collects all rule messages associated with the /// specified <paramref name="itemReference"/> /// </summary> /// <typeparam name="TItem">The type of the item to run the rules against.</typeparam> /// <param name="itemReference">The item reference.</param> /// <param name="rules">The rules to execute.</param> /// <returns> /// read-only collection of <see cref="RuleMessage"/> /// </returns> public static RuleMessages GetMessages <TItem>(Func <TItem> itemReference, params Rule <TItem>[] rules) { if (itemReference == null) { throw new ArgumentNullException("itemReference"); } return(ScopeFactory.GetMessages(itemReference, scope => scope.ValidateInScope(itemReference(), rules))); }
/// <summary> /// Collects all rule messages associated with the /// specified <paramref name="sequenceReference"/> /// </summary> /// <typeparam name="TItem">The type of the item to run the rules against.</typeparam> /// <param name="sequenceReference">The sequence reference.</param> /// <param name="rules">The rules to execute.</param> /// <returns> read-only collection of <see cref="RuleMessage"/> </returns> public static RuleMessages GetMessagesForMany <TItem>(Func <IEnumerable <TItem> > sequenceReference, params Rule <TItem>[] rules) { if (sequenceReference == null) { throw new ArgumentNullException("sequenceReference"); } return(ScopeFactory.GetMessages(sequenceReference, scope => scope.ValidateInScope(sequenceReference(), rules))); }