2011-12-15 13 views
12

मान लें मैं एक काल्पनिक सिंटैक्स का उपयोग सी # में एक प्रकार का अन्य नाम बनाना चाहते हैं:सी # में एलियासिंग के लिए तकनीकें?

Currency = float; 

तब मैं दूर जाना है और कि Currency प्रकार का उपयोग कुछ हजार फ़ाइलों को बनाने के।

तो मैं पता है कि मैं FCL प्रकार का उपयोग करना पसंद:

Currency = System.Single; 

बहुत बढ़िया, सब कोड अभी भी काम करता है।

... महीने बाद ...

प्रतीक्षा, मैं कुछ अजीब राउंडिंग त्रुटियों हो रही है। ओह यही कारण है कि, System.Single only has 7 digits of precision। अप की सुविधा देता है कि 15 अंक करने के लिए:

Currency = System.Double; 

... साल बाद ...

ओह, चल बिन्दु सटीक नहीं है, $0.0011/unit * 217,384 units गुणा करने से फ़्लोटिंग पॉइंट का उपयोग करने की कुछ सीमाएं सामने आती हैं। और लेखाकार "लेखांकन अनियमितताओं" के खिलाफ स्टिकर हैं। कोई समस्या नहीं है:

Currency = System.Decimal; 

... साल बाद ...

अंतर्राष्ट्रीय अनुप्रयोगों? मुद्रा कोड Hmmmm। Thank you CodeProject:

Currency = Money; 

... बाद में ...

Ooo, पैटर्न और प्रथाओं। आइए उस कोड में से कुछ को दबा दें:

Currency = ICurrency; 

और इस बकवास कोड के दौरान तोड़ नहीं आया।

मुझे पता है कि सी # encapsulation के इस स्तर का समर्थन नहीं करता है और मैंने बनाए गए वाक्यविन्यास के साथ लचीलापन का समर्थन नहीं किया है।

लेकिन किसी को भी एक वाक्य रचना कर सकते हैं सुझाव है कि कर सकते हैं simulatewhatpeoplehavebeentryingtoaccomplish (includingmyself)?

+2

मूल रूप से सी ++/सी –

+1

में एक टाइपपीफ मुझे लगता है कि आप "उपनाम का उपयोग" के बारे में जानते हैं ...? –

+1

मैं कोड को एक सुसंगत अनुसरण करने के लिए आसान बनाने के लिए "टाइप उपनाम" ("उपनाम का उपयोग") का उपयोग करता हूं ... हालांकि, यह एक ब्रेकिंग परिवर्तन की तरह लगता है। उपयोग किए जा रहे प्रकार के बारे में नियम (और हस्ताक्षर) बदल दिए गए हैं। –

उत्तर

4

आप using का उपयोग इस प्रकार कर सकते हैं: using Currency = System.Single;, लेकिन आपको इसे प्रत्येक फ़ाइल में करना होगा। लेकिन पूरे आवेदन में सिंगल की तलाश करने से पहले भी बदलना आसान है।

5

उपयुक्त ऑपरेटरों को मुद्रा और कार्यान्वित (या प्रतिनिधि) नामक एक वर्ग बनाएं, फिर वांछित होने पर डेटा को आंतरिक रूप से संग्रहीत करने के लिए उपयोग की जाने वाली कक्षा को बदलें।

संबंधित मुद्दे