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
- Наследование
- Атрибуты
Примеры
Чтобы запустить этот пример, создайте приложение библиотеки классов и добавьте следующий код в модуль класса.
<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", компилятор выполняет многие из этих действий автоматически.
Note
Этот атрибут упрощает создание COM-объектов. Чтобы предоставить класс в виде COM-объекта, необходимо скомпилировать проект с параметром Register for COM Interop , выбранным в разделе "Сборка " диалогового окна "Свойства конфигурации ".
Note
Несмотря на то что вы также можете предоставить класс, созданный с помощью Visual Basic в качестве COM-объекта для использования неуправляемого кода, это не истинный COM-объект. Дополнительные сведения см. в разделе "Взаимодействие COM" в приложениях .NET Framework.
Конструкторы
| Имя | Описание |
|---|---|
| ComClassAttribute() |
Инициализирует новый экземпляр класса |
| ComClassAttribute(String, String, String) |
Инициализирует новый экземпляр класса |
| ComClassAttribute(String, String) |
Инициализирует новый экземпляр класса |
| ComClassAttribute(String) |
Инициализирует новый экземпляр класса |
Свойства
| Имя | Описание |
|---|---|
| ClassID |
Возвращает идентификатор класса, используемый для уникальной идентификации класса. |
| EventID |
Возвращает идентификатор события, используемый для уникальной идентификации события. |
| InterfaceID |
Возвращает идентификатор интерфейса, используемый для уникальной идентификации интерфейса. |
| InterfaceShadows |
Указывает, что имя COM-интерфейса тени другого члена класса или базового класса. |
| 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) |