ComClassAttribute Класс

Определение

Атрибут ComClassAttribute сообщает компилятору о необходимости добавления метаданных, позволяющих использовать класс в качестве COM-объекта.

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
Наследование
ComClassAttribute
Атрибуты

Примеры

Чтобы запустить этот пример, создайте новое приложение библиотеки классов и добавьте следующий код в модуль класса.

    <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

Комментарии

Используйте ComClassAttribute для упрощения процесса предоставления com-компонентов из Visual Basic. COM-объекты сильно отличаются от платформа .NET Framework сборок. Без ComClassAttributeнеобходимо выполнить ряд действий для создания COM-объекта из Visual Basic. Для классов, помеченных параметром ComClassAttribute, компилятор выполняет многие из этих действий автоматически.

Примечание

Этот атрибут упрощает создание COM-объектов. Чтобы предоставить класс в виде COM-объекта, необходимо скомпилировать проект с параметром Register for COM Interop (Зарегистрировать для COM-взаимодействия ), выбранным в разделе Сборка диалогового окна Свойства конфигурации .

Примечание

Хотя вы также можете предоставить класс, созданный с помощью Visual Basic, в качестве COM-объекта для использования неуправляемого кода, он не является истинным COM-объектом. Дополнительные сведения см. в разделе Взаимодействие COM в приложениях платформа .NET Framework.

Конструкторы

ComClassAttribute()

Инициализирует новый экземпляр класса ComClassAttribute.

ComClassAttribute(String)

Инициализирует новый экземпляр класса ComClassAttribute.

ComClassAttribute(String, String)

Инициализирует новый экземпляр класса ComClassAttribute.

ComClassAttribute(String, String, String)

Инициализирует новый экземпляр класса ComClassAttribute.

Свойства

ClassID

Получает уникальный идентификатор класса.

EventID

Получает уникальный идентификатор события.

InterfaceID

Получает уникальный идентификатор интерфейса.

InterfaceShadows

Указывает, что имя СОМ-интерфейса подменяет другой член класса или базового класса.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

Применяется к

См. также раздел