Cette documentation est archivée et n’est pas conservée.

ComClassAttribute, classe

Visual Studio 2008

Mise à jour : novembre 2007

L'attribut ComClassAttribute demande au compilateur d'ajouter des métadonnées qui permettent à une classe d'être exposée comme un objet COM.


<System.AttributeUsage(System.AttributeTargets.Class, _
   Inherited := False, AllowMultiple := False)> _
Public NotInheritable Class ComClassAttribute
   Inherits System.Attribute

Utilisez ComClassAttribute pour simplifier le processus d'exposition des composants COM à partir de Visual Basic. Les objets COM sont très différents des assemblys .NET Framework ; sans le ComClassAttribute, vous devez suivre un certain nombre d'étapes pour générer un objet COM à partir de Visual Basic. Nombre de ces opérations sont automatisées par le compilateur lorsqu'il rencontre des classes marquées avec l'attribut ComClassAttribute.

57kx88c8.alert_note(fr-fr,VS.90).gifRemarque :

Cet attribut simplifie la création d'objets COM. Pour exposer une classe en tant qu'objet COM, vous devez compiler le projet avec l'option Inscrire pour COM Interop sélectionnée dans la section Générer de la boîte de dialogue Propriétés de la configuration.

57kx88c8.alert_note(fr-fr,VS.90).gifRemarque :

Bien que vous puissiez également exposer une classe créée avec Visual Basic en tant qu'objet COM pour le code non managé à utiliser, il ne s'agit pas d'un vrai objet COM. Pour plus d'informations, consultez Interopérabilité COM dans les applications .NET Framework.

Pour exécuter cet exemple, créez un nouveau projet de type Bibliothèque de classes et ajoutez le code suivant à un module de classe.

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _
    Public Class ComClass1
        ' Use the Region directive to define a section named COM Guids. 
#Region "COM GUIDs"
        ' These  GUIDs provide the COM identity for this class 
        ' and its COM interfaces. You can generate 
        ' these guids using guidgen.exe
        Public Const ClassId As String = "7666AC25-855F-4534-BC55-27BF09D49D46"
        Public Const InterfaceId As String = "54388137-8A76-491e-AA3A-853E23AC1217"
        Public Const EventsId As String = "EA329A13-16A0-478d-B41F-47583A761FF2"
#End Region

        Public Sub New()
            MyBase.New()
        End Sub

        Function AddNumbers(ByVal X As Integer, ByVal Y As Integer)
            AddNumbers = X + Y
        End Function
    End Class


Espace de noms :Microsoft.VisualBasic

Assembly :bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)

Afficher: