ObjCRuntime Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET.
Classes
| Nome | Description |
|---|---|
| AdoptsAttribute |
Um atributo usado para especificar que uma classe adota um protocolo Objective-C específico. |
| AssemblyRegistrationEventArgs |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| BaseWrapper |
Classe base usada pelo gerador de associação para gerar tipos de wrapper de protocolo. |
| BindAsAttribute |
O BindAsAttribute permite associar tipos NSNumber nativos, NSValue e NSString (para enums) em tipos gerenciados mais precisos. |
| BindingImplAttribute |
Esse atributo fornece informações sobre o código de associação. |
| BlockCallbackAttribute |
Esse atributo é aplicado a parâmetros delegados em um delegado para especificar que o parâmetro delegado precisa de uma ponte Objective-C estilo bloco. |
| BlockProxyAttribute |
Esse atributo é usado para notificar o runtime qual classe é usada para encapsular Objective-C blocos em delegados gerenciados. |
| CategoryAttribute |
Atributo usado para sinalizar uma classe como uma categoria que estende outro tipo. |
| CCallbackAttribute |
Esse atributo é aplicado a parâmetros delegados em um delegado para especificar que o parâmetro delegado precisa de uma ponte no estilo C. |
| Class |
Representação gerenciada para uma classe Objective-C. |
| Constants |
Constantes globais para bibliotecas do sistema. |
| DelayedRegistrationAttribute |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| DelegateProxyAttribute |
Esse atributo é usado para notificar o runtime qual classe é usada para encapsular delegados gerenciados em blocos de Objective-C. |
| DesignatedInitializerAttribute |
Esse atributo é usado para marcar construtores gerenciados que associam inicializadores Objective-C marcados com o atributo NS_DESIGNATED_INITIALIZER. |
| DisposableObject |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| Dlfcn |
Fornece acesso ao vinculador dinâmico |
| LinkWithAttribute |
Um atributo LinkWith especifica como a biblioteca nativa associada ao assembly deve ser vinculada ao aplicativo resultante. |
| MarshalManagedExceptionEventArgs |
Os args de evento para o MarshalManagedException evento. |
| MarshalObjectiveCExceptionEventArgs |
Os args de evento para o MarshalObjectiveCException evento. |
| MonoNativeFunctionWrapperAttribute |
Atributo a ser aplicado aos delegados para sinalizar como destinos que podem ser usados com GetDelegateForFunctionPointer(IntPtr, Type). |
| MonoPInvokeCallbackAttribute |
Atributo usado para anotar funções que serão chamadas de volta do mundo não gerenciado. |
| NativeAttribute |
Esses atributos informam ao runtime do Xamarin.iOS que a enumeração nativa que essa enumeração gerenciada associa está usando um tamanho nativo para a plataforma como o tamanho de cada valor de enumeração (ou seja, um valor de 32 bits em arquiteturas de 32 bits e um valor de 64 bits em arquiteturas de 64 bits). |
| NativeNameAttribute |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| NativeObjectExtensions |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| NMath |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| ObjCException |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| ObjectiveCFrameworkAttribute |
Esse atributo informa ao runtime ao qual Objective-C estrutura ao qual um determinado tipo pertence. |
| Protocol |
Representação de um protocolo Objective-C. |
| ReleaseAttribute |
Esse atributo indica que o valor retornado de uma função é mantido (o chamador obtém uma referência ao objeto retornado). |
| RequiredFrameworkAttribute |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| RequiresSuperAttribute |
Esse atributo é aplicado a métodos que devem chamar sua implementação base quando eles são substituídos. |
| Runtime |
Fornece informações sobre o runtime do Xamarin.iOS. |
| Runtime.ClassHandles |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| RuntimeException |
Classe que representa uma exceção que ocorre no runtime Xamarin. |
| Selector |
Representa um seletor de Objective-C no código gerenciado. |
| SupportedSimulatorAttribute |
Indica que há suporte para uma API para uma plataforma especificada. Se uma versão for especificada, a API estará disponível a partir da versão do sistema operacional especificada. Vários atributos podem ser aplicados para indicar suporte em vários sistemas operacionais. |
| ThreadSafeAttribute |
Um Attribute que indica que um método ou classe UIKit (para iOS) ou AppKit (para macOS) é thread-safe. |
| ThrowHelper |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| TrampolineBlockBase |
Tipo base para Objective-C blocos de trampolim. |
| TransientAttribute |
Sinaliza um parâmetro em uma subclasse NSObject como sendo transitório. |
| TypeConverter |
Converte Objective-C codificações de tipo em tipos gerenciados e vice-versa. |
| UnsupportedSimulatorAttribute |
Indica que não há suporte para uma API no simulador para a plataforma especificada. Vários atributos podem ser aplicados para indicar a falta de suporte em várias plataformas. |
| UserDelegateTypeAttribute |
Esse atributo é usado em delegados criados pelo gerador de associação para mapear corretamente entre assinaturas para blocos de Objective-C e seus representantes gerenciados expostos correspondentes. Ao associar Objective-C blocos, o gerador de associação criará um delegado gerenciado cuja assinatura é equivalente à assinatura do bloco correspondente para o código de associação necessário. No entanto, essa assinatura não é necessariamente precisa o suficiente para recriar a assinatura do bloco em runtime (o que é necessário em algumas circunstâncias). Esse atributo possibilita localizar o tipo do delegado gerenciado correspondente exposto pelas associações geradas, que tem informações suficientes para recriar a assinatura do bloco correspondente. |
Estruturas
| Nome | Description |
|---|---|
| BlockLiteral |
Encapsula um delegado da CLI do ECMA (lambdas em C#, métodos anônimos ou delegados) como um bloco de Objective-C. |
| NativeHandle |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
Interfaces
| Nome | Description |
|---|---|
| INativeObject |
Uma interface simples usada para expor o ponteiro de objeto não gerenciado em várias classes no Xamarin.iOS. |
Enumerações
| Nome | Description |
|---|---|
| Arch |
Usado para representar o host no qual este aplicativo está em execução. |
| ArgumentSemantic |
Representa a semântica de atribuição para propriedades. |
| BindingImplOptions |
Essa enumeração é usada pelo BindingImplAttribute tipo para fornecer informações sobre o código de associação. |
| Dlfcn.Mode |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| Dlfcn.RTLD |
Sinalizadores de resolução de carregador dinâmico. |
| DlsymOption |
Usado para especificar se uma biblioteca requer o uso de dlsym para resolver P/Invokes para funções nativas. |
| LinkTarget |
Destinos de link disponíveis para LinkWithAttribute |
| MarshalManagedExceptionMode |
Essa enumeração é usada para especificar o que fazer quando uma exceção gerenciada é gerada e essa exceção atinge o código nativo. |
| MarshalObjectiveCExceptionMode |
Essa enumeração é usada para especificar o que fazer quando uma exceção Objective-C é gerada e essa exceção atinge o código gerenciado. |
Delegados
| Nome | Description |
|---|---|
| AssemblyRegistrationHandler |
O namespace ObjCRuntime fornece classes e atributos para associar tipos de Objective-C a .NET. |
| MarshalManagedExceptionHandler |
O representante do MarshalManagedException evento. |
| MarshalObjectiveCExceptionHandler |
O representante do MarshalObjectiveCException evento. |
Comentários
O namespace ObjCRuntime contém os tipos e atributos fundamentais usados para criar associações entre bibliotecas Objective-C e .NET código. Ele fornece a infraestrutura de runtime que permite a interoperabilidade entre código de .NET gerenciado e código de Objective-C nativo em plataformas Apple.
Os principais componentes desse namespace incluem:
- Atributos de associação como BindAsAttribute, CategoryAttribute e DesignatedInitializerAttribute que controlam como os tipos de .NET são mapeados para tipos de Objective-C. :
- Classes de suporte de runtime, como Class e Selector que fornecem acesso de baixo nível ao runtime Objective-C. :
- Bloquear tipos de interoperabilidade, como BlockLiteral que permitem trabalhar com blocos de Objective-C de .NET. :
Esse namespace é usado principalmente por autores de biblioteca criando associações para estruturas de Objective-C, embora os desenvolvedores de aplicativos possam ocasionalmente precisar usar alguns de seus membros para cenários avançados de interoperabilidade.