/// <summary> /// Construit un ValidatableObject qui validera la valeur à chaque modification de cette dernière. /// </summary> /// <param name="validationRules">Les règle de validation de <list type="'objet."</param> /// <returns>Un ValidatableObject qui validera la valeur à chaque modification de cette dernière.</returns> public static ValidatableObject <T> AutoValidatingObject(IEnumerable <IValidationRule <T> > validationRules = null) { var vo = new ValidatableObject <T>(true); if (validationRules != null) { vo.ValidationRules.AddRange(validationRules); } return(vo); }
/// <summary> /// Vérifie l'égalité. /// </summary> /// <param name="other">Objet à comparer avec this.</param> /// <returns>true si other est égal à this, false sinon.</returns> public bool Equals(ValidatableObject <T> other) { #region Comparaison sur Value if (other == null) { return(false); } if (!other.Value.Equals(Value)) { return(false); } #endregion Comparaison sur Value #region Comparaison sur les règles de validation if (other.ValidationRules == null && ValidationRules == null) { return(true); } if (other.ValidationRules.Count == 0 && ValidationRules.Count == 0) { return(true); } if (other.ValidationRules.Count != ValidationRules.Count) { return(false); } if (!other.ValidationRules.All(ValidationRules.Contains)) { return(false); } #endregion Comparaison sur les règles de validation return(true); }