तो मेरे पास है इस तरह दो कस्टम जटिल प्रकार के (इस उदाहरण के लिए oversimplified):एक और कस्टम जटिल प्रकार के लिए एक कस्टम जटिल प्रकार परिवर्तित करने के लिए कैसे
public class PendingProduct
{
public string Name { get; set; }
public string Description { get; set; }
public int ColorCount { get; set; }
}
चलो कहते हैं कि मैं इस वस्तु की जरूरत है पता है कि कैसे खुद को परिवर्तित करने के लिए करते हैं अन्य प्रकार के:
public class Product
{
public string Name { get; set; }
public string Description { get; set; }
public ProductColors Colors { get; set;}
}
तो जब मैं एक विधि उत्पाद को PendingProduct कन्वर्ट करने के लिए कहते हैं, मुझे लगता है कि कहते हैं ProductColor की "ColorCount" संख्या उत्पाद वर्ग के लिए वस्तुओं कुछ कस्टम तर्क पर अमल करेंगे। यह पूरी तरह से अतिसंवेदनशील है, लेकिन कक्षा का वास्तुकला वास्तव में यहां अप्रासंगिक है।
क्या मेरा मुख्य सवाल यह है कि, यह है:
क्या एक और जटिल प्रकार के लिए एक जटिल प्रकार के रूपांतरण को लागू करने के लिए जब वस्तुओं के गुण अलग उपयोग करने के लिए सबसे अच्छा अभ्यास विधि है?
असली दुनिया में, गुण बहुत अलग हैं और मैं मैप करने के लिए कि मैं क्या बी
वस्तु कोजाहिर है मैं सिर्फ एक समारोह जो एक इनपुट पैरामीटर लेता है लिख सकता है वस्तु एक से जरूरत कुछ कस्टम तर्क लिख दिया जाएगा ऑब्जेक्ट ए का ऑब्जेक्ट बी देता है, लेकिन मैं एक और "बेस्ट प्रैक्टिस" विधि की तलाश में हूं। क्या IConvertible यहाँ खेलने में आते हैं? क्या ओओपी की तरह कुछ और है कि मैं सिर्फ वही काम करने के बजाय एक समारोह लिखने का फायदा उठा सकता हूं जो मैं चाहता हूं?
वस्तु एक हमेशा कैसे वस्तु को बी
संपादित करें खुद कन्वर्ट करने के लिए पता होना चाहिए: एक पक्ष नोट के रूप में, असली दुनिया में, वस्तु एक और वस्तु बी दोनों इकाई की रूपरेखा 4 संस्थाओं कर रहे हैं। मैं एक "लंबित उत्पाद" लेना चाहता हूं, इसे एक नई उत्पाद इकाई में परिवर्तित करना चाहता हूं, इसे डेटा संदर्भ में संलग्न करें और सहेजें।