2010-05-17 12 views
9

मैं इस के कुछ फार्म को देखा है कुछ समय पहले, लेकिन मुझे याद है नहीं कर सकते हैं कि यह क्या कहा जाता था, और इसलिए कैसे कुछ इस तरह लागू करने पर कोई सुराग नहीं है:इस वाक्यविन्यास को क्या कहा जाता है? कुछमोनीफॉर्मैट एफ = "€ 5,00";

SomeMoneyFormat f = "€ 5,00"; 

कुछ अधिभार समारोह है कि पार्स कर सकते हैं कॉल कौन सा एक SomeMoneyFormat ऑब्जेक्ट में स्ट्रिंग।

उत्तर

14

आप निर्दिष्ट नहीं करते हैं जब यह यह है डाली जाना चाहिए कि एक implicit cast

public static implicit operator SomeMoneyFormat(string d) 
    { 
     return new SomeMoneyFormat(d); 
    } 

फिर € 5,00 स्ट्रिंग d

इस बारे में अधिक के रूप में पारित हो जाता है: http://msdn.microsoft.com/en-us/library/z5z9kes2(VS.71).aspx

इसके अलावा, मैं जोड़ सकता हूं कि यह केवल तभी किया जाना चाहिए जब डेटा खोने का कोई खतरा न हो। उदाहरण के लिए double को int में परिवर्तित करने से कुछ सटीकता कम हो जाएगी, इसलिए यह explicit cast है। अन्यथा दुर्घटना से कास्ट करना और डेटा खोना आसान होगा।

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