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" });
}
}
}
Mam klasy bazowej Animal
który implementuje IValidatableObject
, teraz z Dog
podklasa za Validate
metody, które również implementuje IValidatableObject
, chcę zadzwonić Validate
metoda klasy bazowej.Entity Framework 4.1: Przestawianie IEnumerable <ValidationResult> Weryfikuj
Próbowałem robić (nie nazywają validate klasa bazowej)
base.Validate(validationContext);
Właściwie mój kod zawierający tę część "public class Dog: Animal" (dziedziczą Animal). To był tylko literówka, gdy zadawał pytanie, poprawił je. –
Czy próbowałeś wywołać base.Validate() i iterować przez zwrócony zestaw wyników? To powinno rozwiązać twój problem. Zatwierdza się metodę Validate zwierząt! – Hans