मैं सी # निम्नलिखितसी # सी # 3.0 (2009) में वैकल्पिक गुण
public class Person
{
public string Name { get; set;}
public optional string NickName { get; set;}
...many more properties...
}
तो
कि जब मैं एक व्यक्ति वस्तु बनाने मैं आसानी से एक साधारण में इनपुट मानों की वैधता की जांच कर सकते हैं के रूप में वैकल्पिक गुणों का समर्थन करता है, तो सोच रहा हूँ लूप
public bool IsInputOK(Person person)
{
foreach(var property in person.GetType().GetProperties())
{
if(property.IsOptional())
{
continue;
}
if(string.IsNullOrEmpty((string)property.GetValue(person,null)))
{
return false;
}
}
return true;
}
मैंने Google पर खोज की है लेकिन वांछित समाधान नहीं मिला है। क्या मुझे वास्तव में प्रत्येक संपत्ति के लिए मैन्युअल रूप से कोड सत्यापन कोड सौंपना है?
धन्यवाद।
मुझे लगता है कि जिस तरह से एक भयानक वस्तु सत्यापन प्रदर्शन करने के लिए है। यह गंध करता है ... –
मैंने सोचा कि यह सबसे अच्छा तरीका था :(... मैं इस दृष्टिकोण का उपयोग करके दोहराव कोड के लगभग 100 लाइनों को बचा सकता हूं। हालांकि मैं मानता हूं कि प्रदर्शन प्रतिबिंब का उपयोग करके थोड़ा सा दर्द करेगा। –
क्या आपको परवाह है गंध पर विस्तार करने के लिए? –