.NET-onderdelen beschikbaar maken voor COM

Het schrijven van een .NET-type en dat type gebruiken vanuit onbeheerde code zijn afzonderlijke activiteiten voor ontwikkelaars. In deze sectie worden verschillende tips beschreven voor het schrijven van beheerde code die interoperateert met COM-clients:

  • In aanmerking komende .NET-typen voor interoperation.

    Alle beheerde typen, methoden, eigenschappen, velden en gebeurtenissen die u beschikbaar wilt maken voor COM, moeten openbaar zijn. Typen moeten een openbare parameterloze constructor hebben. Dit is de enige constructor die kan worden aangeroepen via COM.

  • Interop-kenmerken toepassen.

    Aangepaste kenmerken in beheerde code kunnen de interoperabiliteit van een onderdeel verbeteren.

  • Een montage verpakken voor COM.

    COM-ontwikkelaars moeten mogelijk de stappen samenvatten die nodig zijn bij het verwijzen naar en implementeren van uw assembly's.

Daarnaast worden in deze sectie de taken geïdentificeerd die betrekking hebben op het gebruik van een beheerd type van een COM-client.

Een beheerd type van COM gebruiken

  1. Assembly's registreren bij COM.

    Typen in een assembly (en typebibliotheken) moeten tijdens het ontwerp worden geregistreerd. Als een installatieprogramma de assembly niet registreert, geeft u COM-ontwikkelaars opdracht om Regasm.exe te gebruiken.

  2. Verwijzing naar .NET-typen van COM.

    COM-ontwikkelaars kunnen verwijzen naar typen in een assembly met dezelfde hulpprogramma's en technieken die ze tegenwoordig gebruiken.

  3. Een .NET-object aanroepen.

    COM-ontwikkelaars kunnen methoden voor het .NET-object op dezelfde manier aanroepen als methoden voor elk onbeheerd type. De COM CoCreateInstance-API activeert bijvoorbeeld .NET-objecten.

  4. Implementeer een toepassing voor COM-toegang.

    Een sterk benoemde assembly kan worden geïnstalleerd in de globale assemblycache en vereist een handtekening van de uitgever. Assembly's die geen sterke naam hebben, moeten worden geïnstalleerd in de toepassingsmap van de client.

Zie ook