ObjCRuntime Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit.
Klassen
| Name | Beschreibung |
|---|---|
| AdoptsAttribute |
Ein Attribut, das verwendet wird, um anzugeben, dass eine Klasse ein bestimmtes Objective-C-Protokoll verwendet. |
| AssemblyRegistrationEventArgs |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| BaseWrapper |
Basisklasse, die vom Bindungsgenerator zum Generieren von Protokollwrappertypen verwendet wird. |
| BindAsAttribute |
BindAsAttribute ermöglicht das Binden systemeigener NSNumber-, NSValue- und NSString-Typen (für Enumerationen) in genauere verwaltete Typen. |
| BindingImplAttribute |
Dieses Attribut stellt Informationen zum Bindungscode bereit. |
| BlockCallbackAttribute |
Dieses Attribut wird auf Stellvertretungsparameter in einem Delegaten angewendet, um anzugeben, dass der Delegatparameter eine Objective-C Block-Style-Brücke benötigt. |
| BlockProxyAttribute |
Dieses Attribut wird verwendet, um die Laufzeit zu benachrichtigen, mit der Objective-C Blöcke in verwaltete Stellvertretungen umbrochen werden. |
| CategoryAttribute |
Attribut, das verwendet wird, um eine Klasse als Kategorie zu kennzeichnen, die einen anderen Typ erweitert. |
| CCallbackAttribute |
Dieses Attribut wird auf Stellvertretungsparameter in einem Delegaten angewendet, um anzugeben, dass der Delegatparameter eine C-Style-Brücke benötigt. |
| Class |
Verwaltete Darstellung einer Objective-C Klasse. |
| Constants |
Globale Konstanten für Systembibliotheken. |
| DelayedRegistrationAttribute |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| DelegateProxyAttribute |
Dieses Attribut wird verwendet, um die Laufzeit zu benachrichtigen, mit der verwaltete Stellvertretungen in Objective-C Blöcke umbrochen werden. |
| DesignatedInitializerAttribute |
Dieses Attribut wird verwendet, um verwaltete Konstruktoren zu markieren, die Objective-C Initialisierer binden, die mit dem attribut NS_DESIGNATED_INITIALIZER gekennzeichnet sind. |
| DisposableObject |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| Dlfcn |
Bietet Zugriff auf den dynamischen Linker |
| LinkWithAttribute |
Ein LinkWith-Attribut gibt an, wie die systemeigene Bibliothek, die der Assembly zugeordnet ist, mit der resultierenden Anwendung verknüpft werden soll. |
| MarshalManagedExceptionEventArgs |
Die Ereignisargumente für das MarshalManagedException Ereignis. |
| MarshalObjectiveCExceptionEventArgs |
Die Ereignisargumente für das MarshalObjectiveCException Ereignis. |
| MonoNativeFunctionWrapperAttribute |
Attribut, das auf Stellvertretungen angewendet werden soll, um sie als Ziele zu kennzeichnen, die mit GetDelegateForFunctionPointer(IntPtr, Type). |
| MonoPInvokeCallbackAttribute |
Attribut, das zum Kommentieren von Funktionen verwendet wird, die aus der nicht verwalteten Welt zurück aufgerufen werden. |
| NativeAttribute |
Diese Attribute geben der Xamarin.iOS-Laufzeit an, dass die systemeigene Enumeration dieser verwalteten Enumerationsbindungen eine systemeigene Größe für die Plattform als Größe für jeden Enumerationswert verwendet (d. h. ein 32-Bit-Wert für 32-Bit-Architekturen und ein 64-Bit-Wert für 64-Bit-Architekturen). |
| NativeNameAttribute |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| NativeObjectExtensions |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| NMath |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| ObjCException |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| ObjectiveCFrameworkAttribute |
Dieses Attribut teilt der Laufzeit mit, zu welcher Objective-C Framework ein bestimmter Typ gehört. |
| Protocol |
Darstellung eines Objective-C-Protokolls. |
| ReleaseAttribute |
Dieses Attribut gibt an, dass der Rückgabewert einer Funktion beibehalten wird (der Aufrufer erhält einen Verweis auf das zurückgegebene Objekt). |
| RequiredFrameworkAttribute |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| RequiresSuperAttribute |
Dieses Attribut wird auf Methoden angewendet, die ihre Basisimplementierung aufrufen müssen, wenn sie überschrieben werden. |
| Runtime |
Stellt Informationen zur Xamarin.iOS-Runtime bereit. |
| Runtime.ClassHandles |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| RuntimeException |
Klasse, die eine Ausnahme darstellt, die in der Xamarin Laufzeit auftritt. |
| Selector |
Stellt eine Objective-C Selektor in verwaltetem Code dar. |
| SupportedSimulatorAttribute |
Gibt an, dass eine API für eine angegebene Plattform unterstützt wird. Wenn eine Version angegeben ist, ist die API ab der angegebenen Betriebssystemversion verfügbar. Es können mehrere Attribute angewendet werden, um die Unterstützung auf mehreren Betriebssystemen anzugeben. |
| ThreadSafeAttribute |
A Attribute that indicates that indicates that a UIKit (for iOS) or AppKit (for macOS) method or class is thread-safe. |
| ThrowHelper |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| TrampolineBlockBase |
Basistyp für Objective-C Trampolinblöcke. |
| TransientAttribute |
Kennzeichnet einen Paramter in einer NSObject-Unterklasse als vorübergehend. |
| TypeConverter |
Konvertiert Objective-C Typcodierungen in verwaltete Typen und umgekehrt. |
| UnsupportedSimulatorAttribute |
Gibt an, dass eine API im Simulator für die angegebene Plattform nicht unterstützt wird. Es können mehrere Attribute angewendet werden, um auf mehrere Plattformen auf fehlende Unterstützung hinzuweisen. |
| UserDelegateTypeAttribute |
Dieses Attribut wird für Stellvertretungen verwendet, die vom Bindungsgenerator erstellt wurden, um zwischen Signaturen für Objective-C-Blöcken und den entsprechenden verfügbar gemachten verwalteten Delegaten ordnungsgemäß zuzuordnen. Beim Binden Objective-C Blöcke erstellt der Bindungsgenerator einen verwalteten Delegaten, dessen Signatur der signatur des entsprechenden Blocks für den erforderlichen Bindungscode entspricht. Diese Signatur ist jedoch nicht unbedingt genau genug, um die Signatur des Blocks zur Laufzeit erneut zu erstellen (was unter bestimmten Umständen erforderlich ist). Dieses Attribut ermöglicht es, den Typ des entsprechenden verwalteten Delegaten zu finden, der von den generierten Bindungen verfügbar gemacht wird, die über genügend Informationen verfügen, um die Signatur des entsprechenden Blocks erneut zu erstellen. |
Strukturen
| Name | Beschreibung |
|---|---|
| BlockLiteral |
Umschließt einen ECMA CLI-Delegaten (C#-Lambdas, anonyme Methoden oder Stellvertretungen) als Objective-C-Block. |
| NativeHandle |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
Schnittstellen
| Name | Beschreibung |
|---|---|
| INativeObject |
Eine einfache Schnittstelle, die verwendet wird, um den nicht verwalteten Objektzeiger in verschiedenen Klassen in Xamarin.iOS verfügbar zu machen. |
Enumerationen
| Name | Beschreibung |
|---|---|
| Arch |
Wird verwendet, um den Host darzustellen, auf dem diese App ausgeführt wird. |
| ArgumentSemantic |
Stellt die Zuordnungssemantik für Eigenschaften dar. |
| BindingImplOptions |
Diese Enumeration wird vom BindingImplAttribute Typ verwendet, um Informationen zum Bindungscode bereitzustellen. |
| Dlfcn.Mode |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| Dlfcn.RTLD |
Kennzeichnungen der dynamischen Ladeprogrammauflösung. |
| DlsymOption |
Wird verwendet, um anzugeben, ob eine Bibliothek dlsym zum Auflösen von P/Invokes in systemeigene Funktionen benötigt. |
| LinkTarget |
Linkziele verfügbar für LinkWithAttribute |
| MarshalManagedExceptionMode |
Diese Enumeration wird verwendet, um anzugeben, was zu tun ist, wenn eine verwaltete Ausnahme ausgelöst wird, und diese Ausnahme erreicht systemeigenen Code. |
| MarshalObjectiveCExceptionMode |
Diese Enumeration wird verwendet, um anzugeben, was ausgeführt werden soll, wenn eine Objective-C Ausnahme ausgelöst wird und diese Ausnahme verwalteten Code erreicht. |
Delegaten
| Name | Beschreibung |
|---|---|
| AssemblyRegistrationHandler |
Der ObjCRuntime-Namespace stellt Klassen und Attribute für die Bindung Objective-C Typen an .NET bereit. |
| MarshalManagedExceptionHandler |
Der Ereignisdelegat für das MarshalManagedException Ereignis. |
| MarshalObjectiveCExceptionHandler |
Der Ereignisdelegat für das MarshalObjectiveCException Ereignis. |
Hinweise
Der ObjCRuntime-Namespace enthält die grundlegenden Typen und Attribute, die zum Erstellen von Bindungen zwischen Objective-C Bibliotheken und .NET Code verwendet werden. Sie stellt die Laufzeitinfrastruktur bereit, die die Interoperabilität zwischen verwaltetem .NET Code und systemeigenem Objective-C Code auf Apple-Plattformen ermöglicht.
Zu den wichtigsten Komponenten dieses Namespace gehören:
- Bindungsattribute wie BindAsAttribute, CategoryAttribute und DesignatedInitializerAttribute, die steuern, wie .NET Typen Objective-C Typen zugeordnet werden. :
- Laufzeitunterstützungsklassen wie Class und Selector die den Zugriff auf die Objective-C Laufzeit auf niedriger Ebene ermöglichen. :
- Blockieren Sie Interoperabilitätstypen wie BlockLiteral, die das Arbeiten mit Objective-C Blöcken von .NET ermöglichen. :
Dieser Namespace wird in erster Linie von Bibliotheksautoren verwendet, die Bindungen an Objective-C Frameworks erstellen, obwohl Anwendungsentwickler gelegentlich einige seiner Member für erweiterte Interoperabilitätsszenarien verwenden müssen.