Warum ist es möglich, eine neue Instanz einer COM-Schnittstelle zu erstellen?

9

Ich habe nicht viel Hintergrundwissen über COM oder Co-Klassen, daher verstehe ich nicht ganz, warum ich den Operator new mit einer Schnittstelle verwenden kann. Aus einer Sprache / Framework-Agnostic-Ansicht, ist es verwirrend, warum das kompiliert und korrekt ausgeführt wird:

%Vor%

Bei der Überprüfung von Application in Visual Studio 2010 wird Folgendes angezeigt:

%Vor%

Was passiert hinter den Kulissen?

    
ide 09.02.2011, 23:34
quelle

1 Antwort

5

Dies ist nur für COM-Schnittstellen möglich, glaube ich. Marc Gravell hat eine Erklärung hier .

Die kurze Antwort ist, dass eine COM-Schnittstelle mit einer "Standard" -Implementierungsklasse gepaart werden kann, so dass Sie beim Erstellen einer Instanz dieser Standardimplementierungsklasse die Instanz instanziieren. Im Fall der Application -Schnittstelle in Ihrem Beispiel scheint dies ApplicationClass zu sein.

    
Dan Tao 09.02.2011, 23:37
quelle

Tags und Links