मैं 'त्रुटियों' की एक धारणा है करने के लिए किसी भी प्रकार केएक वर्ग के प्रत्येक संपत्ति के लिए अतिरिक्त गुण जोड़ना
public class Test
{
public string A {get;set;}
public object B {get;set;}
public int C {get;set;}
public CustomClass D {get;set;}
}
मैं इस वर्ग के भीतर वस्तुओं के सभी चाहते हैं के गुणों के किसी भी संख्या के साथ एक वर्ग है और कहो 'चेतावनी'। उदाहरण के लिए, किसी अन्य वर्ग में कुछ शर्त के आधार पर, मैं संपत्ति ए पर एक चेतावनी सेट करना चाहूंगा, और उसके बाद उस जानकारी को जीयूआई में प्रदर्शित कर सकता हूं। जीयूआई मेरी चिंता नहीं है; बल्कि मुझे यह चेतावनी कैसे सेट करनी चाहिए? मैं की तरह कुछ करने के लिए सक्षम होने के लिए प्यार होता है:
एक कक्षा में हर संपत्ति के लिए, एक 'चेतावनी' और 'त्रुटि' प्रॉपर्टी जोड़ने के इस तरह मैं ऐसा कर सकते हैं ..
Test t = new Test();
t.A.Warning = "This is a warning that the GUI will know to display in yellow".
t.B.Error = null;
क्या सबसे अच्छा है ऐसा करने के लिए जाने का तरीका? यह अच्छा होगा अगर मैं कक्षा की प्रत्येक संपत्ति में एक कस्टम विशेषता जोड़ सकता हूं जो इन अतिरिक्त गुणों को जोड़ देगा और मुझे स्पष्ट तरीके से उन तक पहुंचने की अनुमति देगा।
मैंने ऐसे समाधान देखे हैं जो अभिभावक वर्ग (टेस्ट) में एक शब्दकोश जोड़ते हैं, और उसके बाद संपत्ति नामों से मेल खाने वाले तारों में गुजरते हैं, या संपत्ति का नाम प्राप्त करने के लिए प्रतिबिंब का उपयोग करते हैं और इसमें प्रवेश करते हैं, लेकिन मैं कुछ क्लीनर पसंद करूंगा ।
आपकी प्रतिक्रिया के लिए धन्यवाद। मुझे लगता है कि मैं इसे लागू करूंगा। मुझे वास्तव में स्ट्रिंग गुणों तक पहुंचने के लिए newWarning.Value का उपयोग करने से प्यार नहीं है, लेकिन ऐसा लगता है कि मुझे कहीं कुछ सुविधा बलिदान करना होगा। – user981225