ObjCRuntime Przestrzeń nazw

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

Klasy

Nazwa Opis
AdoptsAttribute

Atrybut używany do określenia, że klasa przyjmuje określony protokół Objective-C.

AssemblyRegistrationEventArgs

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

BaseWrapper

Klasa bazowa używana przez generator powiązań do generowania typów otoki protokołu.

BindAsAttribute

Atrybut BindAsAttribute umożliwia tworzenie powiązań natywnych typów NSNumber, NSValue i NSString (w przypadku wyliczenia) w bardziej dokładne typy zarządzane.

BindingImplAttribute

Ten atrybut zawiera informacje o kodzie powiązania.

BlockCallbackAttribute

Ten atrybut jest stosowany do delegowania parametrów w delegatzie w celu określenia, że parametr delegata wymaga mostka w stylu bloku Objective-C.

BlockProxyAttribute

Ten atrybut służy do powiadamiania środowiska uruchomieniowego, które klasy są używane do zawijania Objective-C bloków do zarządzanych delegatów.

CategoryAttribute

Atrybut używany do flagowania klasy jako kategorii, która rozszerza inny typ.

CCallbackAttribute

Ten atrybut jest stosowany do delegowania parametrów w delegacie w celu określenia, że parametr delegata wymaga mostka w stylu C.

Class

Zarządzana reprezentacja klasy Objective-C.

Constants

Globalne stałe do bibliotek systemowych.

DelayedRegistrationAttribute

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

DelegateProxyAttribute

Ten atrybut służy do powiadamiania środowiska uruchomieniowego, które klasy są używane do opakowania zarządzanych delegatów do bloków Objective-C.

DesignatedInitializerAttribute

Ten atrybut służy do oznaczania konstruktorów zarządzanych, które wiążą inicjatory Objective-C oznaczone atrybutem NS_DESIGNATED_INITIALIZER.

DisposableObject

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

Dlfcn

Zapewnia dostęp do konsolidatora dynamicznego

LinkWithAttribute

Atrybut LinkWith określa sposób, w jaki biblioteka natywna skojarzona z zestawem powinna być połączona z wynikową aplikacją.

MarshalManagedExceptionEventArgs

Zdarzenie args dla MarshalManagedException zdarzenia.

MarshalObjectiveCExceptionEventArgs

Zdarzenie args dla MarshalObjectiveCException zdarzenia.

MonoNativeFunctionWrapperAttribute

Atrybut do zastosowania do delegatów, aby oznaczyć je jako obiekty docelowe, które mogą być używane z GetDelegateForFunctionPointer(IntPtr, Type).

MonoPInvokeCallbackAttribute

Atrybut używany do dodawania adnotacji do funkcji, które będą wywoływane z powrotem ze świata niezarządzanego.

NativeAttribute

Te atrybuty informują środowisko uruchomieniowe Xamarin.iOS, że wyliczenie natywne, które jest powiązane z tym zarządzanym wyliczeniami, używa natywnego rozmiaru dla platformy jako rozmiaru każdej wartości wyliczenia (tj. wartości 32-bitowej w architekturach 32-bitowych i wartości 64-bitowej w architekturach 64-bitowych).

NativeNameAttribute

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

NativeObjectExtensions

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

NMath

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

ObjCException

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

ObjectiveCFrameworkAttribute

Ten atrybut informuje środowisko uruchomieniowe, do którego należy Objective-C struktura danego typu.

Protocol

Reprezentacja protokołu Objective-C.

ReleaseAttribute

Ten atrybut wskazuje, że zwracana wartość funkcji jest zachowywana (obiekt wywołujący uzyskuje odwołanie do zwróconego obiektu).

RequiredFrameworkAttribute

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

RequiresSuperAttribute

Ten atrybut jest stosowany do metod, które muszą wywoływać implementację podstawową podczas ich zastępowania.

Runtime

Zawiera informacje o środowisku uruchomieniowym Xamarin.iOS.

Runtime.ClassHandles

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

RuntimeException

Klasa reprezentująca wyjątek występujący w środowisku uruchomieniowym Xamarin.

Selector

Reprezentuje selektor Objective-C w kodzie zarządzanym.

SupportedSimulatorAttribute

Wskazuje, że interfejs API jest obsługiwany dla określonej platformy. Jeśli określono wersję, interfejs API jest dostępny od określonej wersji systemu operacyjnego. W celu wskazania obsługi wielu systemów operacyjnych można zastosować wiele atrybutów.

ThreadSafeAttribute

Element Attribute wskazujący, że metoda lub klasa UIKit (dla systemu iOS) lub AppKit (dla systemu macOS) jest bezpieczna wątkowo.

ThrowHelper

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

TrampolineBlockBase

Typ podstawowy dla Objective-C bloków trampoliny.

TransientAttribute

Flaguje parametr w podklasie NSObject jako przejściowy.

TypeConverter

Konwertuje kodowanie typów Objective-C na typy zarządzane i odwrotnie.

UnsupportedSimulatorAttribute

Wskazuje, że interfejs API nie jest obsługiwany w symulatorze dla określonej platformy. Można zastosować wiele atrybutów, aby wskazać brak obsługi na wielu platformach.

UserDelegateTypeAttribute

Ten atrybut jest używany na delegatach utworzonych przez generator powiązań, aby prawidłowo mapować podpisy dla bloków Objective-C i odpowiadających im udostępnionych delegatów zarządzanych.

Gdy powiązanie Objective-C bloków, generator powiązań utworzy zarządzanego delegata, którego podpis jest odpowiednikiem podpisu odpowiedniego bloku dla wymaganego kodu powiązania. Jednak ten podpis nie musi być wystarczająco dokładny, aby ponownie utworzyć podpis bloku w czasie wykonywania (co jest potrzebne w pewnych okolicznościach). Ten atrybut umożliwia znalezienie typu odpowiedniego delegata zarządzanego uwidocznionego przez wygenerowane powiązania, które mają wystarczającą ilość informacji, aby ponownie utworzyć podpis odpowiedniego bloku.

Struktury

Nazwa Opis
BlockLiteral

Opakowuje delegata interfejsu wiersza polecenia ECMA (lambdy języka C#, metody anonimowe lub delegaty) jako blok Objective-C.

NativeHandle

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

Interfejsy

Nazwa Opis
INativeObject

Prosty interfejs używany do uwidocznienia niezarządzanego wskaźnika obiektu w różnych klasach w systemie Xamarin.iOS.

Wyliczenia

Nazwa Opis
Arch

Służy do reprezentowania hosta, na którym działa ta aplikacja.

ArgumentSemantic

Reprezentuje semantyka przypisania dla właściwości.

BindingImplOptions

Ten wyliczenie jest używane przez BindingImplAttribute typ w celu dostarczenia informacji o kodzie powiązania.

Dlfcn.Mode

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

Dlfcn.RTLD

Flagi rozpoznawania dynamicznego modułu ładującego.

DlsymOption

Służy do określania, czy biblioteka wymaga używania biblioteki dlsym do rozpoznawania P/Invokes do funkcji natywnych.

LinkTarget

Dostępne elementy docelowe łącza LinkWithAttribute

MarshalManagedExceptionMode

To wyliczenie służy do określania, co należy zrobić, gdy zgłaszany jest wyjątek zarządzany, a wyjątek osiąga kod macierzysty.

MarshalObjectiveCExceptionMode

To wyliczenie służy do określania, co należy zrobić, gdy zgłaszany jest wyjątek Objective-C, a wyjątek dociera do kodu zarządzanego.

Delegaci

Nazwa Opis
AssemblyRegistrationHandler

Przestrzeń nazw ObjCRuntime udostępnia klasy i atrybuty dla powiązań typów Objective-C do .NET.

MarshalManagedExceptionHandler

Delegat zdarzenia dla MarshalManagedException zdarzenia.

MarshalObjectiveCExceptionHandler

Delegat zdarzenia dla MarshalObjectiveCException zdarzenia.

Uwagi

Przestrzeń nazw ObjCRuntime zawiera podstawowe typy i atrybuty używane do tworzenia powiązań między bibliotekami Objective-C i kodem .NET. Zapewnia infrastrukturę środowiska uruchomieniowego, która umożliwia współdziałanie kodu zarządzanego .NET i natywnego kodu Objective-C na platformach firmy Apple.

Kluczowe składniki tej przestrzeni nazw obejmują:

  • Atrybuty powiązania, takie jak BindAsAttribute, CategoryAttribute i DesignatedInitializerAttribute, które kontrolują sposób mapowania typów .NET na typy Objective-C. :
  • Klasy obsługi środowiska uruchomieniowego, takie jak Class i Selector , które zapewniają dostęp niskiego poziomu do środowiska uruchomieniowego Objective-C. :
  • Blokuj typy współdziałania, takie jak BlockLiteral, które umożliwiają pracę z blokami Objective-C z .NET. :

Ta przestrzeń nazw jest używana głównie przez autorów bibliotek tworzących powiązania do platform Objective-C, chociaż deweloperzy aplikacji mogą czasami potrzebować używania niektórych elementów członkowskich w zaawansowanych scenariuszach współdziałania.