Поделиться через


Класс ComClassAttribute

Обновлен: Ноябрь 2007

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

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

Заметки

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

57kx88c8.alert_note(ru-ru,VS.90).gifПримечание.

Данный атрибут упрощает создание объектов COM. Для представления класса как объекта COM, необходимо скомпилировать проект с параметром Регистрация для COM-взаимодействия, выбранным в разделе Построение диалогового окна Свойства конфигурации.

57kx88c8.alert_note(ru-ru,VS.90).gifПримечание.

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

Пример

Для выполнения данного примера создайте новое приложение Библиотека классов и добавьте данный код в модуль класса.

    <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

Требования

Пространство имен:Microsoft.VisualBasic

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Задачи

Пошаговое руководство. Создание объектов COM с помощью Visual Basic

Основные понятия

Применение атрибутов взаимодействия

Атрибуты, используемые в Visual Basic

Ссылки

Члены класса ComClassAttribute

Класс VBFixedArrayAttribute

Класс VBFixedStringAttribute

System.Runtime.InteropServices

Другие ресурсы

Атрибуты в Visual Basic