Partager via


ComClassAttribute, classe

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

Notes

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.

Remarque :

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.

Remarque :

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.

Exemple

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

Configuration requise

Espace de noms :Microsoft.VisualBasic

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

Voir aussi

Tâches

Procédure pas à pas : création d'objets COM avec Visual Basic

Concepts

Application d'attributs d'interopérabilité

Attributs utilisés dans Visual Basic

Référence

Membres d'une classe ComClassAttribute

VBFixedArrayAttribute, classe

VBFixedStringAttribute, classe

System.Runtime.InteropServices

Autres ressources

Attributs en Visual Basic