से कैसे बच सकता हूं मेरे पास फॉलोइंग कोड है और मैं इसे इस तरह लिखना चाहूंगा कि मेरे पास कोड की न्यूनतम पंक्तियां हों और काम उसी तरह किया जाता है। मैं उसे कैसे कर सकता हूँ?मैं कोड डुप्लिकेशंस
List<Category> categoryList = new List<Category>();
categoryList = Category.LoadForProject(project.ID).ToList();
List<string> categories = new List<string>(Categories);
IList<Category> currentCategories = Category.LoadForProject(project.ID).ToList();
if (currentCategories != null)
{
foreach (var existingCategories in currentCategories)
{
if (categories.Contains(existingCategories.Name))
categories.Remove(existingCategories.Name);
else
existingCategories.Delete(Services.UserServices.User);
}
foreach (string item in categories)
{
Category category = new Category(project, item.ToString());
category.Project = project;
category.Save();
}
}
List<string> priorities = new List<string>(Priorities);
IList<Priority> currentPriorities = Priority.LoadForProject(project.ID).ToList();
if (currentPriorities != null)
{
foreach (var existingPriorities in currentPriorities)
{
if (priorities.Contains(existingPriorities.Name))
priorities.Remove(existingPriorities.Name);
else
existingPriorities.Delete(Services.UserServices.User);
}
foreach (string item in priorities)
{
Priority priority = new Priority(project, item.ToString());
priority.Project = project;
priority.Save();
}
}
जेनिक्स एक अच्छा समाधान है ... आपके कॉल को उस प्रकार को जोड़ने की आवश्यकता होगी, यानी 'var currentCategories = DoYourThing (श्रेणियाँ.ToList(), Category। लोडफोरप्रोजेक्ट (project.ID)। टोलीस्ट()) ; '? –
Lazarus
@ लासरस: नहीं। जब पैरामीटर द्वारा इस प्रकार का अनुमान लगाया जा सकता है (इस मामले में), विधि पर प्रकार की घोषणा अनावश्यक है। :) –
@ ब्रायन जेनिसियो आपका अधिकार है कि अगर आप एक्टिवेटर को समझ नहीं पाते हैं तो असंभव रूप से आना मुश्किल है। भाग लें। यह सरल जीनियस है। – msarchet