क्या को जोड़ने के लिए सी # में कोई तरीका है अन्य असेंबली में पहले से परिभाषित प्रकारों के रूपांतरण?सी # मौजूदा प्रकारों में आरोपी रूपांतरण जोड़ना
उदाहरण के लिए, यदि मैं दो अलग-अलग असेंबली का उपयोग कर रहा हूं, जो प्रत्येक अपने Vector3 struct
प्रदान करते हैं, और इसे अपने एपीआई में उपयोग करते हैं, तो एक बार रूपांतरण को परिभाषित करने में सक्षम होना अच्छा होगा, और फिर बस Foo.Vector3
को विधि में पास करें जो Bar.Vector3
की अपेक्षा करता है, और इसे स्वचालित रूप से परिवर्तित कर दिया गया है।
यदि मेरे पास पुस्तकालयों का स्रोत था तो मैं निहित रूपांतरण ऑपरेटर जोड़ सकता था। उस स्रोत के बिना, मैं वर्तमान में हर समय एक सहायक समारोह के साथ स्वयं रूपांतरण कर रहा हूं। मैं एक अच्छे तरीके की उम्मीद कर रहा हूं।
मुझे पता है मैं अपने खुद के Vector3 struct
करने और अन्य दो structs से अंतर्निहित रूपांतरण ऑपरेटरों के साथ बना सकते हैं, लेकिन यह सभी मामलों में जहां मैं करना चाहते हैं का समाधान नहीं होता सीधे की एक वस्तु पारित एक (बाह्य रूप में परिभाषित किया गया) टाइप दूसरे की उम्मीद एक विधि के लिए।
बोनस सवाल: पुस्तकालयों कि उनके एपीआई में एक Vector3 struct जैसी चीजों का पर्दाफाश इस संबंध में उपयोग में आसानी की सुविधा के लिए क्या करना चाहिए की क्या लेखकों है?
एक्सटेंशन ऑपरेटर .. मुझे यह पसंद है :) – nawfal