2008-10-06 31 views
6

मुझे एक सी # कक्षा 'बटन' (जिसे मैं नहीं बदल सकता) विरासत में मिला है जो बीसीएल वर्ग 'विंडोज़.फॉर्म.बटन' के साथ संघर्ष करता है। आम तौर पर, ईद जाना बहुत खुश:सी # डिफ़ॉल्ट स्कोप रिज़ॉल्यूशन

लेकिन एक बड़ी संख्या या इस वर्ग जो एक दर्द को फिर से टाइप करने के लिए है के लिए संदर्भ नहीं है।

क्या बीसीएल संस्करण पर बटन के कस्टमाइज़ किए गए संस्करण का उपयोग करने के लिए संकलक (लिंकर?) को डिफ़ॉल्ट रूप से प्राप्त करने का कोई तरीका है?

उत्तर

21

फ़ाइल के शीर्ष करने के लिए इस जोड़ें:

using MyButton = MyPackage.MyClass.Button; 

अब आप एक अलग नाम का उपयोग कर अपने कस्टम बटन संदर्भित कर सकते हैं। यदि आप उसी फ़ाइल में कहीं भी इसका उपयोग करते हैं तो आपको स्टॉक बटन के लिए कुछ ऐसा करने की आवश्यकता हो सकती है।

+0

यह देखना अच्छा था। मुझे नहीं लगता कि यह .NET के पुराने संस्करणों में काम करता था और मुझे नहीं पता था कि यह जोड़ा गया था। –

+0

कम से कम 2.0 से ऊपर काम करता है। –

+0

दरअसल मुझे विश्वास है कि इस तरह के एलियासिंग सी # 1.0 से उपलब्ध है। यह नामस्थान उपनाम (उदा। उपनाम :: टाइपनाम) जिसे सी # 2.0 में पेश किया गया था। –

2

आप कोड के शीर्ष से using Windows.Forms; हटा सकते हैं। इसका मतलब यह होगा कि आपको विशेष रूप से सभी विंडोज़.फॉर्म आइटमों का संदर्भ देना होगा।

+0

अच्छा विचार, हालांकि बाकी वर्गों की कार्यक्षमता को देखते हुए यह मुझे पहले की स्थिति में छोड़ देता है! –

0

आपको कम से कम यह एक छोटे से थोड़ा कम दर्दनाक अधिक शब्दों वाले "का उपयोग" के साथ कर सकते हैं /:

using MPMC = MyPackage.MyClass; 

तो आप कह सकते हैं: आप डिफ़ॉल्ट रूप से इसका इस्तेमाल करना चाहते हैं तो

MPMC.Button 
4

,

using Windows.Forms; 

की जगह

012 के साथ

यदि आप ऐसा करते हैं, तो आपको Windows.Forms से सभी बटनों को पूरी तरह अर्हता प्राप्त करने की आवश्यकता होगी।

या, यदि आप, आप नाम स्थान

using My = MyPackage.MyClass; 
//... then 
My.Button b = ... 

या उर्फ ​​बटन उर्फ ​​कर सकते हैं करना चाहते हैं

using MyButton = MyPackage.MyClass.Button; 
0

ऐसा लगता है कि मैं निम्नलिखित कर सकते हैं:

using Button = MyPackage.MyClass.Button; 

काम करता है और यह बटन के भीतर कोड के सभी संदर्भों को संरक्षित करता है। यद्यपि मैंने इस मार्ग को नीचे नहीं जाने का लुत्फ उठाया क्योंकि यह अभी भी अस्पष्ट है (कम से कम पाठक के लिए) जो बटन का उपयोग किया जा रहा है।

+0

इसे फिर से पढ़ें: आप बटन से अलग बटन वर्ग के लिए अपना नाम सेट कर सकते हैं। –

+0

मुझे इसके बारे में पता है। हालांकि, कोड बेस की पहले से ही भयानक प्रकृति के कारण मैं सोच रहा था कि पहले से मौजूद नामों के साथ रहना बेहतर हो सकता है।किसी अन्य नाम की बजाय 'बटन' उदा। 'CustomButton'। हालांकि आप सही हो सकते हैं एक अद्वितीय नाम का सुझाव दे रहा है। –