हम जिस तृतीय पक्ष लाइब्रेरी का उपयोग कर रहे हैं, उसमें मुझे निम्न जैसा कुछ कोड मिला।

[CoClass(typeof(BlahClass))]
public interface Blah : IBlah
{
}

ये आख़िर कर क्या रहा है? मेरे अनुसरण के लिए एमएसडीएन दस्तावेज़ीकरण ने विषय को पर्याप्त रूप से प्रकाशित नहीं किया।

42
Robert Gowland 5 अगस्त 2011, 22:23
1
CoClass एक COM अवधारणा है। यदि आप COM को नहीं समझते हैं, तो आप CoClass को नहीं समझेंगे।
 – 
John Saunders
5 अगस्त 2011, 22:25
5
इस प्रश्न पर चर्चा से मदद मिल सकती है: stackoverflow.com/questions/1093536/…
 – 
rsbarro
5 अगस्त 2011, 22:27

1 उत्तर

सबसे बढ़िया उत्तर

यह घोषणा करता है कि इंटरफ़ेस Blah को एक विशिष्ट वर्ग द्वारा कार्यान्वित करने का इरादा है। इसका मतलब है कि आप आसानी से new Blah कह सकते हैं और रनटाइम को पता चल जाएगा कि कौन सी वस्तु बनानी है - ऐसा कुछ जो सामान्य रूप से एक इंटरफ़ेस के साथ संभव नहीं है।

यदि आप BlahClass के लिए उत्पन्न घोषणा को देखते हैं, तो संभवतः इसके साथ एक Guid जुड़ा होगा जिसका उपयोग COM ऑब्जेक्ट का उदाहरण बनाने के लिए किया जा सकता है।

60
Daniel Earwicker 5 अगस्त 2011, 22:29
ठीक है, यह समझ में आता है कि मैं आसपास के कोड में क्या देख रहा हूं। धन्यवाद! COM चीज़ के अलावा, क्या इस विधि बनाम इंटरफ़ेस को लागू करने का कोई फायदा है?
 – 
Robert Gowland
6 अगस्त 2011, 00:42
मुझे आपकी टिप्पणी का जवाब चाहिए @RobertGowland। क्या इस वर्ग को लागू करना अनिवार्य है या इंटरफ़ेस घोषित करना पर्याप्त होगा?
 – 
Rikki
29 नवम्बर 2012, 16:38
2
विशेषता [CoClass(typeof(BlahClass))] वर्ग BlahClass का उल्लेख करती है, ताकि वर्ग कहीं न कहीं मौजूद हो। और इसे इंटरफ़ेस Blah लागू करना होगा। एक COM टाइप लाइब्रेरी से उत्पन्न इंटरऑप असेंबली में, BlahClass वास्तव में एक COM ऑब्जेक्ट होगा (संभवतः सी ++, वीबी 6, डेल्फी या कुछ और पूरी तरह से लागू ...)
 – 
Daniel Earwicker
17 जिंदा 2013, 19:39