क्या सी # से सी ++ के पैरामीटर पास करते समय [इन, आउट] और केवल रेफरी का उपयोग करने के बीच कोई अंतर है?सी # में पिनवोक का उपयोग करते समय [इन, आउट] और रेफरी के बीच क्या अंतर है?
मुझे कुछ अलग एसओ पोस्ट और एमएसडीएन से कुछ सामान मिल गया है, साथ ही यह मेरे प्रश्न के करीब आता है लेकिन इसका काफी जवाब नहीं है। मेरा अनुमान है कि मैं सुरक्षित रूप से रेफरी का उपयोग कर सकता हूं जैसे कि मैं [इन, आउट] का उपयोग करता हूं, और यह कि मार्शलर अलग-अलग कार्य नहीं करेगा। मेरी चिंता यह है कि यह अलग-अलग कार्य करेगा, और सी ++ मेरे सी # संरचना को पारित होने से खुश नहीं होगा। मैं दोनों चीजों कोड बेस मैं में काम कर रहा हूँ में किया देखा है ...
यहाँ पदों मैंने पाया और के माध्यम से पढ़ रहे हैं:
Are P/Invoke [In, Out] attributes optional for marshaling arrays? बनाता है मुझे लगता है कि मैं का उपयोग करना चाहिए [ अंदर बाहर]।
इन तीन पदों मुझे लगता है कि मैं का उपयोग करना चाहिए [में, बाहर] बनाने के लिए, लेकिन मैं रेफरी के बजाय का उपयोग कर सकते हैं और यह एक ही होगा कि मशीन कोड। इससे मुझे लगता है कि मैं गलत हूं - इसलिए यहां पूछना।
क्या आप कृपया एक ठोस उदाहरण दे सकते हैं। क्या आप '[इन, आउट] रेफ इंट फू 'और' रेफ इंट फू 'के बीच का अंतर जानना चाहते हैं? जैसा कि यह खड़ा है, आपके प्रश्न में विस्तार की कमी है, और मेरा मानना है कि आपको एक (या अधिक) ठोस उदाहरणों की आवश्यकता है। –
कुछ ऐसा है, है: [DllImport ("MyDll.dll", कॉलिंग कन्वेंशन = कॉलिंग कन्वेंशन.सीडीसीएल)] निजी स्थैतिक बाहरी बूल मायफंक्शन ([इन, आउट] कुछ स्ट्रक्चर [] एस्ट्रक्चर; [इन के स्थान पर रेफरी का उपयोग करने जैसा ही है , आउट] – PerryC
इसके अलावा, क्या आपने अभी [इन, आउट] और रेफरी गठबंधन किया है?)? – PerryC