locked
Utilisation de COM Interop RRS feed

  • Discussion générale

  • Voici quelques points essentiels énoncées par le MVP Michael Taylor, modérateur sur le forum MSDN de langue Anglaise :

     

    · COM traite uniquement des interfaces.   Les classes dérivées/de base n'ont aucune signification ou fonctionnalité dans COM.   L'héritage n'est pas applicable.

     

    · Dans COM, les interfaces peuvent hériter l’une de l'autre.   Toutefois, l'implémentation .NET qui exporte l'interface .NET à COM ne supporte l'héritage.   Par conséquent, dans l'interface dérivée, vous devez répliquer les membres d'interface d’une interface de base.

     

    · Déplacement des membres entre une classe de base et une classe dérivée n'aura aucun impact sur ce qui est visible à COM.

     

    · Uniquement le programmeur peut définir ce qui est exposé à COM.   La compilation n'utilise pas de réflexion ou toute autre chose pour déterminer ce qui devrait être exposé.

     

    · Toutes les classes COM possèdent une interface unique, de la valeur par défaut.   Il s'agit de l'interface qui est normalement utilisé pour un objet.   Une classe COM peut exposer les autres interfaces, mais le client COM doit alors interroger pour l'interface.   Dans .NET, la première interface visible COM est utilisée comme l'interface par défaut pour une classe COM.

     

    Pour une introduction détaillée et l'exemple de code, consultez cet article :

    http://msdn.microsoft.com/fr-fr/magazine/cc163494.aspx

     

    Voici un didacticiel qui montre comment utiliser c# pour interagir avec les objets COM non managés

    http://msdn.microsoft.com/fr-fr/library/aa645736(en-us,VS.71).aspx

     

    Voici un didacticiel qui montre comment communiquer entre les applications non managées et les composants COM managés, écrits en c# :

    http://msdn.microsoft.com/fr-fr/library/aa645738(en-us,VS.71).aspx

     

     

    Thread associe :

    http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/7313191a-10db-4a16-9cdd-de9fb80b378a/

     

    Pour plusieurs questions sur Visual Basic .NET, visitez Foire aux Questions – C# FAQ et Tutoriels

     


    Alex Petrescu - MSFT
    jeudi 25 février 2010 14:14