ObjCRuntime Przestrzeń nazw
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.