मैंने एक वर्ग को एक स्थिर विधि के साथ लिखा है जो संपत्ति वस्तुओं को एक ऑब्जेक्ट से दूसरे ऑब्जेक्ट में कॉपी करता है। यह परवाह नहीं करता कि प्रत्येक वस्तु किस प्रकार है, केवल उनके पास समान गुण हैं। यह वही करता है जो मुझे चाहिए, इसलिए मैं इसे आगे इंजीनियरिंग नहीं कर रहा हूं, लेकिन आप क्या सुधार करेंगे?आप इस उथले प्रतिलिपि कक्षा में कैसे सुधार करेंगे?
public class ShallowCopy
{
public static void Copy<From, To>(From from, To to)
where To : class
where From : class
{
Type toType = to.GetType();
foreach (var propertyInfo in from.GetType().GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance))
{
toType.GetProperty(propertyInfo.Name).SetValue(to, propertyInfo.GetValue(from, null), null);
}
}
}
मैं इसे उपयोग कर रहा हूँ इस प्रकार है::
कोड यह
EmployeeDTO dto = GetEmployeeDTO();
Employee employee = new Employee();
ShallowCopy.Copy(dto, employee);
हम कैसे एक सूची या किसी वस्तु कई सूची है कि के साथ इस का उपयोग करते हैं इसमें सूचियां? –
यह एक * गहरी * प्रतिलिपि होगी। असल में उपर्युक्त लेकिन रिकर्सिव जैसा ही है जहां आपको 'प्रॉपर्टीइन्फो' ''PropertyType' के साथ मिलता है जो 'IENumerable' से विरासत योग्य है। जाहिर है, लक्ष्य लक्ष्य और चीजों को स्पष्ट करने के साथ आपको सामना करना पड़ेगा। –