चलो कहते हैं कि मैं बहुत की तरह एक POCO करते हैं:क्या मुझे एक पीओसीओ में सत्यापन तर्क रखना चाहिए?
public class Name
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
प्रथम नाम और अंतिम नाम रिक्त नहीं हो सकता है। मैं इस तरह एक विधि में जोड़ना चाहिए:
public List<Error> Validate()
{
var errors = new List<Error>();
if (String.IsNullOrEmpty(FirstName))
errors.Add(new Error("FirstName", "You must fill out first name."));
if (String.IsNullOrEmpty(LastName))
errors.Add(new Error("LastName", "You must fill out last name."));
}
जहां Error
एक struct है कि एक NameValueDictionary
होता है। क्या यह चीजों को करने का एक अच्छा तरीका है? मैं संभावित रूप से भंडार के साथ एक समस्या देख सकता हूं जहां कोई व्यक्ति इस पीओसीओ को Validate()
के माध्यम से इसे चलाने के बिना सहेजने का प्रयास करता है।
मैंने पहले xVal में देखा है लेकिन मुझे दस्तावेज़ीकरण और उदाहरणों की एक अलग कमी मिली है। शायद मैं इसे फिर से देख लूँगा कि मैं पीओसीओ का उपयोग कर रहा हूं। –
अब जब मैं इसके बारे में सोचता हूं, तो आप उन मामलों को कैसे संभालेंगे जहां आपको अधिक उन्नत सत्यापन की आवश्यकता है, उदाहरण के लिए मान्य करें कि फ़ाइल पथ स्ट्रिंग हार्ड ड्राइव पर भौतिक फ़ाइल को इंगित करती है? –
xVal आपको कस्टम सत्यापन विशेषताओं को बनाने देता है। यहां एक उदाहरण पृष्ठ दिया गया है: http://blog.codeville.net/2009/02/27/xval-08-beta-now-released/ – womp