Entity Framework 4.1: переопределить IEnume rable Validate

    public abstract class Animal , IValidatableObject
    {
        public string Id {get;set;}
        public string Name {get;set;}
        public virtual IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (this.Name == "animal")
            {
                yield return new ValidationResult("Invalid Name From base", new[] { "Name" });
            }
        }
    }




    public class Dog: Animal, IValidatableObject
    {
        public string Owner {get;set;}

  public override IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        /*
          Here call base validate
         */

        if (this.Name == "dog")
        {
            yield return new ValidationResult("Invalid Name From dog", new[] { "Name" });
        }
    }     

    }

У меня есть базовый класс Animal , который реализует IValidatableObject , теперь из подкласса Validate подкласса Dog , который также реализует IValidatableObject , Я хочу вызвать метод базового класса Validate .

Я пробовал выполнить (он не вызывает проверку базового класса)

base.Validate(validationContext);
5
задан Rusi Nova 14 August 2011 в 15:23
поделиться