काम नहीं करती है मेरे आवेदन में कई मॉडलों को Password
गुणों (उदाहरण के लिए, Registration
और ChangePassword
मॉडल) की आवश्यकता होती है। Password
संपत्ति में DataType
और Required
जैसी विशेषता है। इसलिए फिर से प्रयोज्य एक निरंतरता का सुनिश्चित करने के लिए, मैं बनाया:इंटरफेस सदस्यों पर विशेषता
interface IPasswordContainer{
[Required(ErrorMessage = "Please specify your password")]
[DataType(DataType.Password)]
string Password { get; set; }
}
और
class RegistrationModel : IPasswordContainer {
public string Password { get; set; }
}
दुर्भाग्य से, विशेषताओं के काम नहीं करता है।
public class PasswordContainer {
[Required(ErrorMessage = "Please specify your password")]
[DataType(DataType.Password)]
public virtual string Password { get; set; }
}
और
public class RegistrationModel : PasswordContainer {
public override string Password { get; set; }
}
अब यह काम कर रहा है:
तो मैं एक वर्ग के लिए इंटरफ़ेस को बदलने की कोशिश की। जाने क्यों?
कक्षा से विरासत में प्राप्त होने पर गुण क्यों काम कर रहे हैं लेकिन इंटरफ़ेस से विरासत में काम करते समय काम नहीं कर रहे हैं?
http://stackoverflow.com/questions/540749/can-ac-sharp-class-inherit-attributes-from-its-interface – KyorCode
http://bradwilson.typepad.com/blog/2011 /08/interface-attributes-class-attributes.html भी उपयोगी – KyorCode
@KyorCode: खोजे जाने पर आपको पहली टिप्पणी में पोस्ट किया गया प्रश्न नहीं मिला। यहां तक कि संबंधित प्रश्नों की सूची में भी नहीं। मैंने इस सवाल को आपके द्वारा रेफरी किए गए प्रश्न के सटीक डुप्लिकेट के रूप में चिह्नित किया है। – Mohayemin