Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El espacio de nombres System.Runtime.InteropServices proporciona tres categorías de atributos específicos de interoperabilidad: los que se aplican por parte del usuario en tiempo de diseño, los que se aplican mediante herramientas de interoperabilidad COM y durante el proceso de conversión, y los que se aplican por parte del usuario o interoperabilidad COM.
Si no está familiarizado con la tarea de aplicar atributos al código administrado, consulte Extensión de metadatos mediante atributos. Al igual que otros atributos personalizados, puede aplicar atributos específicos de la interoperabilidad a tipos, métodos, propiedades, parámetros, campos y otros miembros.
atributos de Design-Time
Puede ajustar el resultado del proceso de conversión realizado por las API y las herramientas de interoperabilidad COM mediante atributos en tiempo de diseño. En la tabla siguiente se describen los atributos que puede aplicar al código fuente administrado. Las herramientas de interoperabilidad COM, en ocasiones, también pueden aplicar los atributos descritos en esta tabla.
Atributo | Descripción |
---|---|
AutomationProxyAttribute | Especifica si el tipo debe serializarse mediante el contador de referencias de Automation o un proxy personalizado y código auxiliar. |
ClassInterfaceAttribute | Controla el tipo de interfaz generada para una clase. |
CoClassAttribute | Identifica el CLSID de la coclase original importada desde una biblioteca de tipos. Las herramientas de interoperabilidad COM suelen aplicar este atributo. |
ComImportAttribute | Indica que se importó una definición de interfaz o coclase desde una biblioteca de tipos COM. El tiempo de ejecución usa este indicador para saber cómo activar y serializar el tipo. Este atributo prohíbe que el tipo se exporte de nuevo a una biblioteca de tipos. Las herramientas de interoperabilidad COM suelen aplicar este atributo. |
ComRegisterFunctionAttribute | Indica que se debe llamar a un método cuando se registra el ensamblado para su uso desde COM, de modo que el código escrito por el usuario se pueda ejecutar durante el proceso de registro. |
ComSourceInterfacesAttribute | Identifica interfaces que son orígenes de eventos para la clase . Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
ComUnregisterFunctionAttribute | Indica que se debe llamar a un método cuando se anula el registro del ensamblado desde COM, de modo que el código que ha escrito el usuario se pueda ejecutar durante el proceso. |
ComVisibleAttribute | Representa los tipos invisibles en COM cuando el valor del atributo es igual a false. Este atributo se puede aplicar a un tipo individual o a un ensamblado completo para controlar la visibilidad COM. De forma predeterminada, todos los tipos públicos administrados son visibles; el atributo no es necesario para que sean visibles. |
DispIdAttribute | Especifica el identificador de distribución COM (DISPID) de un método o campo. Este atributo contiene el DISPID para el método, el campo o la propiedad que describe. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
ComDefaultInterfaceAttribute | Indica la interfaz predeterminada de una clase COM implementada en .NET. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
FieldOffsetAttribute | Indica la posición física de cada campo dentro de una clase cuando se usa con StructLayoutAttribute y layoutKind se establece en Explicit. |
GuidAttribute | Especifica el identificador único global (GUID) de una clase, interfaz o una biblioteca de tipos completa. La cadena pasada al atributo debe ser un formato que sea un argumento de constructor aceptable para el tipo System.Guid. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
IDispatchImplAttribute | Indica la implementación de la interfaz IDispatch que usa el Common Language Runtime cuando expone interfaces duales e interfaces dispinterface a COM. |
InAttribute | Indica que los datos se deben serializar en el llamador. Se puede usar para atribuir parámetros. |
InterfaceTypeAttribute | Controla la forma en que se expone una interfaz administrada a los clientes COM (Dual, derivada de IUnknown o solo IDispatch). Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
LCIDConversionAttribute | Indica que una firma de método no administrada espera un parámetro LCID. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
MarshalAsAttribute | Indica cómo se deben transferir los datos en campos o parámetros entre código administrado y no gestionado. El atributo siempre es opcional porque cada tipo de datos tiene un comportamiento de transformación predeterminado. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
OptionalAttribute | Indica que un parámetro es opcional. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
OutAttribute | Indica que los datos de un campo o parámetro deben serializarse desde un objeto que se llama a su llamador. |
PreserveSigAttribute | Suprime la transformación de la firma retval o del valor HRESULT que normalmente tiene lugar durante las llamadas de interoperabilidad. El atributo afecta a la serialización, así como a la exportación de bibliotecas de tipos. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
ProgIdAttribute | Especifica el ProgID de una clase .NET. Se puede usar para atribuir clases. |
StructLayoutAttribute | Controla el diseño físico de los campos de una clase. Las herramientas de interoperabilidad COM pueden aplicar este atributo. |
atributos de Conversion-Tool
En la tabla siguiente se describen los atributos que se aplican a las herramientas de interoperabilidad COM durante el proceso de conversión. No se aplican estos atributos en tiempo de diseño.
Atributo | Descripción |
---|---|
ComAliasNameAttribute | Indica el alias COM de un parámetro o tipo de campo. Se puede usar para atribuir a parámetros, campos o valores devueltos. |
ComConversionLossAttribute | Indica que se perdió información sobre una clase o interfaz cuando se importó de una biblioteca de tipos a un ensamblado. |
ComEventInterfaceAttribute | Identifica la interfaz de origen y la clase que implementa los métodos de la interfaz de eventos. |
ImportedFromTypeLibAttribute | Indica que el ensamblado se importó originalmente desde una biblioteca de tipos COM. Este atributo contiene la definición de biblioteca de tipos de la biblioteca de tipos original. |
TypeLibFuncAttribute | Contiene los FUNCFLAGS que se importaron originalmente para esta función desde la biblioteca de tipos COM. |
TypeLibTypeAttribute | Contiene los TYPEFLAGS que se importaron originalmente para este tipo desde la biblioteca de tipos COM. |
TypeLibVarAttribute | Contiene los VARFLAGS que se importaron originalmente para esta variable desde la biblioteca de tipos COM. |