ComClassAttribute Klass

Definition

Attributet ComClassAttribute instruerar kompilatorn att lägga till metadata som gör att en klass kan exponeras som ett COM-objekt.

public ref class ComClassAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class ComClassAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]
type ComClassAttribute = class
    inherit Attribute
Public NotInheritable Class ComClassAttribute
Inherits Attribute
Arv
ComClassAttribute
Attribut

Exempel

Om du vill köra det här exemplet skapar du ett nytt klassbiblioteksprogram och lägger till följande kod i en klassmodul.

    <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

Kommentarer

Använd ComClassAttribute för att förenkla processen med att exponera COM-komponenter från Visual Basic. COM-objekt skiljer sig mycket från .NET Framework-sammansättningar. Utan ComClassAttribute måste du följa ett antal steg för att generera ett COM-objekt från Visual Basic. För klasser som har markerats med ComClassAttributeutför kompilatorn många av dessa steg automatiskt.

Note

Det här attributet förenklar skapandet av COM-objekt. Om du vill exponera en klass som ett COM-objekt måste du kompilera projektet med alternativet Registrera för COM Interop valt i avsnittet Skapa i dialogrutan Konfigurationsegenskaper .

Note

Även om du också kan exponera en klass som skapats med Visual Basic som ett COM-objekt för ohanterad kod att använda, är det inte ett sant COM-objekt. Mer information finns i COM-samverkan i .NET Framework-program.

Konstruktorer

Name Description
ComClassAttribute()

Initierar en ny instans av ComClassAttribute klassen.

ComClassAttribute(String, String, String)

Initierar en ny instans av ComClassAttribute klassen.

ComClassAttribute(String, String)

Initierar en ny instans av ComClassAttribute klassen.

ComClassAttribute(String)

Initierar en ny instans av ComClassAttribute klassen.

Egenskaper

Name Description
ClassID

Hämtar ett klass-ID som används för att unikt identifiera en klass.

EventID

Hämtar ett händelse-ID som används för att unikt identifiera en händelse.

InterfaceID

Hämtar ett gränssnitts-ID som används för att unikt identifiera ett gränssnitt.

InterfaceShadows

Anger att COM-gränssnittets namn skuggar en annan medlem i klassen eller basklassen.

TypeId

När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute.

(Ärvd från Attribute)

Metoder

Name Description
Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från Attribute)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsDefaultAttribute()

När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen.

(Ärvd från Attribute)
Match(Object)

När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från Attribute)

Gäller för

Se även