मेरे पास निम्नलिखित कोड हैं और मैं इसे इस तरह लिखना चाहता हूं कि मेरे पास कोडों का न्यूनतम डुप्लिकेशन है।डुप्लिकेट कोड को कैसे खत्म करें?
if (Categories != null)
{
bool flag=false;
foreach (dynamic usableCat in Category.LoadForProject(project.ID))
{
foreach (dynamic catRow in Categories)
{
if (usableCat.ID == catRow.ID)
flag = true;
}
if (!flag)
{
int id = usableCat.ID;
Category resolution = Category.Load(id);
resolution.Delete(Services.UserServices.User);
}
}
}
if (Priorities != null)
{
bool flag = false;
foreach (dynamic usableCat in Priority.LoadForProject(project.ID))
{
foreach (dynamic catRow in Priorities)
{
if (usableCat.ID == catRow.ID)
flag = true;
}
if (!flag)
{
int id = usableCat.ID;
Priority resolution = Priority.Load(id);
resolution.Delete(Services.UserServices.User);
}
}
}
कृपया ध्यान दें कि श्रेणी और प्राथमिकता में एक सामान्य आधार प्रकार या इंटरफ़ेस नहीं है जिसमें आईडी शामिल है।
मुझे लगता है कि आप प्रधान या श्रेणी कक्षाओं को बदलने के लिए पहुँच नहीं है ? – RCIX
अपने कोड उदाहरण में, आप 'गतिशील' का उपयोग कर रहे हैं, जहां ऐसा लगता है कि आप इसके बजाय 'var' (प्रारंभिक बाध्यकारी) का उपयोग कर सकते हैं। ऐसा लगता है कि आप वास्तव में क्या चाहते हैं कि देर से बाध्यकारी अर्थशास्त्र प्राप्त करने के लिए 'गतिशील' का उपयोग करना है, जिस बिंदु पर इससे कोई फर्क नहीं पड़ता कि कोई सामान्य आधार प्रकार नहीं है, आप वैसे भी 'आईडी' फ़ील्ड का उपयोग कर सकते हैं। (यानी, ऐसा लगता है जैसे आप [बतख टाइपिंग] (http://en.wikipedia.org/wiki/Duck_typing) का उपयोग करना चाहते हैं।) –
बतख टाइपिंग के लिए +1 :) – onof