2010-08-26 18 views
6

से विधियों और गुणों को सही तरीके से कैसे छिपाना है, क्या किसी को भी कॉल करने की क्षमता को संरक्षित करते समय इंटेलिजेंस से कक्षाओं, विधियों और गुणों को सही ढंग से छिपाने के तरीके को जानेंगे; और इसलिए वे एक प्रकार पुस्तकालय से उत्पन्न इंटरऑप असेंबली में प्रकट नहीं होते हैं?इंटेलिजेंस

मैं स्वचालित परीक्षण के लिए एपीआई हुक लिख रहा हूं, हम अभी तक उपभोक्ताओं के संपर्क में नहीं आना चाहते हैं। ऐसा लगता है कि सैकबासिक संपादक में निर्मित हमारे आवेदन के साथ आता है, लेकिन हमारे इंटरऑप असेंबली में कोई संदर्भ जोड़ा जाने पर ऑब्जेक्ट्स, विधियों और गुणों को छिपाने में विफल रहता है।

यहां एक उदाहरण दिया गया है कि मैं इन्हें छिपाने का प्रयास कैसे कर रहा हूं; विभिन्न क्रमिक प्रयासों की कोशिश की गई है, अग्रिम धन्यवाद!

[ 
    object, 
    uuid(guid), 
    helpstring("help"), 
    version(ver), 
    dual, 
    nonextensible, 
    oleautomation, 
    pointer_default(unique) 
]IApplication.VisibleObj 
interface IObj : IDispatch 
{ 
     //tried [hidden] here, no luck 
[propget, id(91001), helpstring("Help str. Available as of Object Model Version X.X.X."), hidden]//again tried [hidden] here, no luck 
    HRESULT Obj([out, retval] IObj** ppObj); 
} 
+1

तुम क्यों निर्यात कर सकता हूं, जिसे आप नहीं देखना चाहते हैं? बस इसे निर्यात न करें! – Andrey

+0

आंशिक रूप से क्योंकि एप्लिकेशन डेवलपर्स ने मुझे आंतरिक तर्क (कल) और आंशिक रूप से उपयोग करने के तरीके के बारे में सिखाया है क्योंकि डेटा मॉडल अन्यथा अंतिम उपयोगकर्ता से दूर रखा जाता है। हमारा परीक्षण ढांचा हमारे आवेदन के साथ उसी तरह से बातचीत करता है जैसे हम तीसरे पक्ष के डेवलपर्स की अपेक्षा करेंगे। – BrMcMullin

उत्तर

4

यह दृश्य स्टूडियो प्रकट होता है 2008 और 2010 अब 'छुपा' विशेषता की अनदेखी, अन्यथा छिपा इंटरफेस ब्राउज़ करने योग्य बना रही है। ऐसा प्रतीत होता है इंटरॉप विधानसभा adorning द्वारा संशोधित किया जाना चाहिए कक्षाएं, तरीकों और गुण है कि मौजूद हैं, लेकिन ब्राउज़ करने योग्य नहीं करना है पर निम्नलिखित:

[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] 

स्रोत: विधि http://www.summsoft.com/blogs/garyvsta/archive/2009/02/06/preserving-hidden-elements-in-a-com-interop-assembly.aspx

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