Actualización: noviembre 2007
El atributo ComClassAttribute indica al compilador que agregue los metadatos que permiten exponer una clase como un objeto COM.
Espacio de nombres:
Microsoft.VisualBasic
Ensamblado:
Microsoft.VisualBasic (en Microsoft.VisualBasic.dll)
Visual Basic (Declaración)
<AttributeUsageAttribute(AttributeTargets.Class, Inherited := False, AllowMultiple := False)> _
Public NotInheritable Class ComClassAttribute _
Inherits Attribute
Dim instance As ComClassAttribute
[AttributeUsageAttribute(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
public sealed class ComClassAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, Inherited = false, AllowMultiple = false)]
public ref class ComClassAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, Inherited = false, AllowMultiple = false) */
public final class ComClassAttribute extends Attribute
public final class ComClassAttribute extends Attribute
Para obtener información más detallada, vea el tema ComClassAttribute (Clase) de Visual Basic.
Utilice ComClassAttribute para simplificar el proceso de exponer los componentes COM de Visual Basic. Los objetos COM son muy diferentes de los ensamblados de .NET Framework; sin ComClassAttribute, es preciso dar varios pasos para generar un objeto COM de Visual Basic. Para las clases marcadas con ComClassAttribute, el compilador realiza automáticamente un gran número de estos pasos.
Nota: |
|---|
Este atributo simplifica la creación de objetos COM. Para exponer una clase como un objeto COM, es preciso compilar el proyecto con la opción Registrar para interoperabilidad COM activada en la sección Generar del cuadro de diálogo Propiedades de configuración. |
Nota: |
|---|
Si bien se puede exponer asimismo una clase creada con Visual Basic como un objeto COM para que lo utilice código no administrado, no es un verdadero objeto COM. Para obtener información detallada, vea Interoperabilidad COM en aplicaciones .NET Framework. |
Para ejecutar este ejemplo, cree una nueva aplicación de Biblioteca de clases y agregue el siguiente código a un módulo de clase.
<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
System..::.Object
System..::.Attribute
Microsoft.VisualBasic..::.ComClassAttribute
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
.NET Framework
Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
.NET Compact Framework
Compatible con: 3.5, 2.0
Referencia
Otros recursos