को महत्व देता है अगर मैं कुछ प्रकार के उदाहरण के लिए है:सी # स्वचालित रूप से अन्य संपत्ति के आधार पर संपत्ति असाइन
public class SomeType //Generated by some codegen i won't to change that.
{
string C { get; set; }
}
public class AnotherType : SomeType
{
string A { get; set; }
string B { get; set; }
}
यह स्वचालित रूप से संपत्ति आवंटित सी संभव है? उदाहरण के लिए जब गुण ए और बी असाइन किए जाते हैं या जब मैं इस प्रकार को किसी अन्य प्रकार में कास्ट कर रहा हूं, या किसी और तरह?
मूल रूप से उदाहरण के लिए मैं कुछ तर्क निष्पादित करने के लिए स्वचालित रूप से कुछ बिंदु पर मान ए और बी के अनुसार संपत्ति सी आवंटित करने के लिए जब गुण को महत्व देता है ए और बी पॉपुलेटेड हो चाहता हूँ।
वहाँ कर रही बजाय मानक गुण का उपयोग कर के किसी भी अन्य तरीके है?
मैं सोच रहा था कि जादू के कुछ राजा को करना संभव है जब मैं कुछ प्रकार के लिए टाइप टाइप कर सकता हूं, लेकिन मैं निहित ऑपरेटर को लागू नहीं कर सकता हूं, जहां मैं इस रूपांतरण तर्क को "ए + बी से सी" में डाल सकता हूं क्योंकि संकलक नहीं करता है संबंधित प्रकारों के लिए निहित ऑपरेटर की अनुमति नहीं है।
अब केवल एक ही तरीका है जिसे मैं देखता हूं वह विरासत को हटा देता है और किसी अन्य प्रकार के रूपांतरण के लिए अन्य प्रकार के लिए निहित ऑपरेटर को कार्यान्वित करता है, लेकिन उस मामले में बुराई मुझे टाइप करने के लिए किसी प्रकार की सभी प्रकारों को डुप्लिकेट करने की आवश्यकता है। टाइप टाइप करें और मुझे टाइप करने की आवश्यकता है अन्यथा टाइप टाइप करें समय जब कुछ टाइप बदल रहा है।
मैं:
यहाँ एक संपत्ति तक पहुँचने का एक सरल उदाहरण है कि एक और संपत्ति पर निर्भर है है विरासत है I गुणों को संशोधित नहीं कर सकते – Kuncevic
आप नामों या गुणों के प्रकारों को संशोधित नहीं कर रहे हैं, केवल उनके गेटटर और सेटर के कार्यान्वयन को जो आपकी विरासत को तोड़ना नहीं चाहिए। –
@bigb: मैं आपकी टिप्पणियों के रूप में उलझन में हूं। क्या आप कह रहे हैं कि ए और बी, और संभवतः सी, आपके द्वारा विरासत में प्राप्त कक्षा के अंदर ऑटो गुण हैं और संशोधित नहीं कर सकते हैं? –