मैं सीएसएस मूल्यों (जैसे पिक्सेल उदाहरण 12px) का प्रतिनिधित्व करने के लिए अपना स्वयं का प्रकार बना रहा हूं। मेरे प्रकार और स्याही जोड़ने/घटाने/गुणा करने में सक्षम होने के लिए मैंने int से और उसके लिए दो निहित ऑपरेटरों को परिभाषित किया है। सब कुछ एक बात को छोड़कर अच्छा काम करता है .. अगर मैं लिखना:सी # लागू ऑपरेटरों और ToString()
CssUnitBase c1 = 10;
Console.WriteLine(c1);
मैं "10" "10px" के बजाय - int करने के बजाय toString इस्तेमाल किया जाता है() विधि अंतर्निहित रूपांतरण। मैं इसे कैसे रोक सकता हूं?
क्या आप कोड को 'CssUnitBase' कक्षा में पोस्ट कर सकते हैं? जिस तरह से आप इसका इस्तेमाल करते हैं, यह int के चारों ओर एक रैपर _be_ प्रतीत होता है। – Oded
यह बताता है कि आप आंतरिक रूप से CssUnitBase में मूल्य को कैसे स्टोर करते हैं और आप इसे कैसे वापस करते हैं। "टॉक सस्ता है, हमें कोड दिखाएं" – vaitrafra
@ वाइट्राफ्रा: मुझे नहीं लगता कि यह इस पर निर्भर करता है। Int से/से एक अंतर्निहित रूपांतरण है, और ToString के लिए ओवरराइड है। वे सार्वजनिक एपीआई के बिट्स हैं जो इस प्रश्न में प्रासंगिक हैं, और मुझे नहीं लगता कि उनका कार्यान्वयन बिल्कुल महत्वपूर्ण है। यही कहा जाता है जो प्रासंगिक है। –