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
जो Dog
उप-वर्ग के Validate
विधि जो भी IValidatableObject
लागू करता है से IValidatableObject
लागू करता है, अब है, मैं आधार वर्ग के Validate
विधि कॉल करना चाहते हैं।इकाई की रूपरेखा 4.1: ओवरराइड IEnumerable <ValidationResult> मान्य
मैं कर रहा करने की कोशिश की है (यह आधार वर्ग के सत्यापित करें फोन नहीं करता है)
base.Validate(validationContext);
असल में मेरे कोड इस हिस्से "पशु सार्वजनिक वर्ग डॉग" शामिल रिटर्न
ToList()
कॉल करने के लिए की जरूरत है। सवाल पूछते समय यह सिर्फ एक टाइपो था, इसे सही किया। –क्या आपने आधार पर कॉल करने का प्रयास किया था। वैध() और लौटा परिणाम सेट के माध्यम से पुनरावृत्त? इससे आपकी समस्या का समाधान हो जाना चाहिए। पशु की वैध विधि को बुलाया जाता है! – Hans