ObjCRuntime Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET.
Clases
| Nombre | Description |
|---|---|
| AdoptsAttribute |
Atributo usado para especificar que una clase adopta un protocolo Objective-C específico. |
| AssemblyRegistrationEventArgs |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| BaseWrapper |
Clase base usada por el generador de enlaces para generar tipos de contenedor de protocolos. |
| BindAsAttribute |
BindAsAttribute permite enlazar tipos NSNumber, NSValue y NSString nativos (para enumeraciones) en tipos administrados más precisos. |
| BindingImplAttribute |
Este atributo proporciona información sobre el código de enlace. |
| BlockCallbackAttribute |
Este atributo se aplica a los parámetros delegados de un delegado para especificar que el parámetro delegado necesita un puente de estilo bloque Objective-C. |
| BlockProxyAttribute |
Este atributo se usa para notificar al runtime qué clase se usa para encapsular Objective-C bloques en delegados administrados. |
| CategoryAttribute |
Atributo usado para marcar una clase como una categoría que extiende otro tipo. |
| CCallbackAttribute |
Este atributo se aplica a los parámetros delegados de un delegado para especificar que el parámetro delegado necesita un puente de estilo C. |
| Class |
Representación administrada de una clase Objective-C. |
| Constants |
Constantes globales en las bibliotecas del sistema. |
| DelayedRegistrationAttribute |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| DelegateProxyAttribute |
Este atributo se usa para notificar al runtime qué clase se usa para encapsular delegados administrados en bloques Objective-C. |
| DesignatedInitializerAttribute |
Este atributo se usa para marcar constructores administrados que enlazan Objective-C inicializadores marcados con el atributo NS_DESIGNATED_INITIALIZER. |
| DisposableObject |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| Dlfcn |
Proporciona acceso al enlazador dinámico. |
| LinkWithAttribute |
Un atributo LinkWith especifica cómo se debe vincular la biblioteca nativa asociada al ensamblado a la aplicación resultante. |
| MarshalManagedExceptionEventArgs |
Argumentos MarshalManagedException del evento. |
| MarshalObjectiveCExceptionEventArgs |
Argumentos MarshalObjectiveCException del evento. |
| MonoNativeFunctionWrapperAttribute |
Atributo que se aplica a los delegados para marcarlos como destinos que se pueden usar con GetDelegateForFunctionPointer(IntPtr, Type). |
| MonoPInvokeCallbackAttribute |
Atributo usado para anotar funciones a las que se llamará desde el mundo no administrado. |
| NativeAttribute |
Estos atributos indican al entorno de ejecución de Xamarin.iOS que la enumeración nativa que enlaza esta enumeración administrada usa un tamaño nativo para la plataforma como el tamaño de cada valor de enumeración (es decir, un valor de 32 bits en arquitecturas de 32 bits y un valor de 64 bits en arquitecturas de 64 bits). |
| NativeNameAttribute |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| NativeObjectExtensions |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| NMath |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| ObjCException |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| ObjectiveCFrameworkAttribute |
Este atributo indica al entorno de ejecución al que pertenece Objective-C marco de trabajo a un tipo determinado. |
| Protocol |
Representación de un protocolo Objective-C. |
| ReleaseAttribute |
Este atributo indica que se conserva el valor devuelto de una función (el autor de la llamada obtiene una referencia al objeto devuelto). |
| RequiredFrameworkAttribute |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| RequiresSuperAttribute |
Este atributo se aplica a los métodos que deben llamar a su implementación base cuando se invalidan. |
| Runtime |
Proporciona información sobre el entorno de ejecución de Xamarin.iOS. |
| Runtime.ClassHandles |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| RuntimeException |
Clase que representa una excepción que se produce en el entorno de ejecución de Xamarin. |
| Selector |
Representa un selector de Objective-C en código administrado. |
| SupportedSimulatorAttribute |
Indica que se admite una API para una plataforma especificada. Si se especifica una versión, la API está disponible a partir de la versión del sistema operativo especificada. Se pueden aplicar varios atributos para indicar compatibilidad con varios sistemas operativos. |
| ThreadSafeAttribute |
que Attribute indica que un método o clase UIKit (para iOS) o AppKit (para macOS) es seguro para subprocesos. |
| ThrowHelper |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| TrampolineBlockBase |
Tipo base para Objective-C bloques de trampolín. |
| TransientAttribute |
Marca un parámetro en una subclase NSObject como transitorio. |
| TypeConverter |
Convierte Objective-C codificaciones de tipos en tipos administrados y viceversa. |
| UnsupportedSimulatorAttribute |
Indica que no se admite una API en el simulador para la plataforma especificada. Se pueden aplicar varios atributos para indicar la falta de compatibilidad en varias plataformas. |
| UserDelegateTypeAttribute |
Este atributo se usa en delegados creados por el generador de enlaces para asignar correctamente entre firmas para bloques de Objective-C y sus delegados administrados expuestos correspondientes. Al enlazar Objective-C bloques, el generador de enlaces creará un delegado administrado cuya firma es equivalente a la firma del bloque correspondiente para el código de enlace necesario. Sin embargo, esta firma no es necesariamente lo suficientemente precisa como para volver a crear la firma del bloque en tiempo de ejecución (lo que es necesario en algunas circunstancias). Este atributo permite buscar el tipo del delegado administrado correspondiente expuesto por los enlaces generados, que tiene suficiente información para volver a crear la firma del bloque correspondiente. |
Estructuras
| Nombre | Description |
|---|---|
| BlockLiteral |
Encapsula un delegado de la CLI de ECMA (lambdas de C#, métodos anónimos o delegados) como un bloque Objective-C. |
| NativeHandle |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
Interfaces
| Nombre | Description |
|---|---|
| INativeObject |
Interfaz sencilla que se usa para exponer el puntero de objeto no administrado en varias clases de Xamarin.iOS. |
Enumeraciones
| Nombre | Description |
|---|---|
| Arch |
Se usa para representar el host en el que se ejecuta esta aplicación. |
| ArgumentSemantic |
Representa la semántica de asignación de las propiedades. |
| BindingImplOptions |
El tipo usa esta enumeración para proporcionar información sobre el BindingImplAttribute código de enlace. |
| Dlfcn.Mode |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| Dlfcn.RTLD |
Marcas de resolución del cargador dinámico. |
| DlsymOption |
Se usa para especificar si una biblioteca requiere el uso de dlsym para resolver P/Invokes en funciones nativas. |
| LinkTarget |
Destinos de vínculo disponibles para LinkWithAttribute |
| MarshalManagedExceptionMode |
Esta enumeración se usa para especificar qué hacer cuando se produce una excepción administrada y esa excepción alcanza el código nativo. |
| MarshalObjectiveCExceptionMode |
Esta enumeración se usa para especificar qué hacer cuando se produce una excepción de Objective-C y esa excepción alcanza el código administrado. |
Delegados
| Nombre | Description |
|---|---|
| AssemblyRegistrationHandler |
El espacio de nombres ObjCRuntime proporciona clases y atributos para enlazar tipos de Objective-C a .NET. |
| MarshalManagedExceptionHandler |
Delegado de eventos para el MarshalManagedException evento. |
| MarshalObjectiveCExceptionHandler |
Delegado de eventos para el MarshalObjectiveCException evento. |
Comentarios
El espacio de nombres ObjCRuntime contiene los tipos y atributos fundamentales que se usan para crear enlaces entre bibliotecas de Objective-C y código .NET. Proporciona la infraestructura en tiempo de ejecución que permite la interoperabilidad entre código de .NET administrado y código de Objective-C nativo en plataformas Apple.
Entre los componentes clave de este espacio de nombres se incluyen:
- Atributos de enlace como BindAsAttribute, CategoryAttribute y DesignatedInitializerAttribute que controlan cómo se asignan los tipos de .NET a los tipos de Objective-C. :
- El entorno de ejecución admite clases como Class y Selector que proporcionan acceso de bajo nivel al entorno de ejecución de Objective-C. :
- Bloquear tipos de interoperabilidad, como BlockLiteral que permiten trabajar con Objective-C bloques de .NET. :
Este espacio de nombres lo usan principalmente los autores de bibliotecas que crean enlaces para Objective-C marcos, aunque los desarrolladores de aplicaciones pueden necesitar ocasionalmente usar algunos de sus miembros para escenarios de interoperabilidad avanzados.