ObjCRuntime 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。
類別
| 名稱 | Description |
|---|---|
| AdoptsAttribute |
一個用來指定類別採用特定 Objective-C 協定的屬性。 |
| AssemblyRegistrationEventArgs |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| BaseWrapper |
綁定產生器用來產生協定包裝型別的基底類別。 |
| BindAsAttribute |
BindAsAttribute 允許將原生的 NSNumber、NSValue 及 NSString(用於枚舉)類型綁定為更精確的受管理型態。 |
| BindingImplAttribute |
此屬性提供綁定碼的資訊。 |
| BlockCallbackAttribute |
此屬性用於代理中的代理參數,以指定代理參數需要 Objective-C 區塊式橋接器。 |
| BlockProxyAttribute |
此屬性用來通知執行時使用哪個類別將 Objective-C 區塊包裝成受管理代理。 |
| CategoryAttribute |
屬性用於標記類別為延伸另一型別的類別。 |
| CCallbackAttribute |
此屬性用於代理中的代理參數,以指定代理參數需要 C 風格橋接器。 |
| Class |
管理一個 Objective-C 階層的代理。 |
| Constants |
系統函式庫的全域常數。 |
| DelayedRegistrationAttribute |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| DelegateProxyAttribute |
此屬性用來通知執行時使用哪個類別將受管理代理包裝成 Objective-C 區塊。 |
| DesignatedInitializerAttribute |
此屬性用於標記以 NS_DESIGNATED_INITIALIZER 屬性標記的初始化器 Objective-C 受管理建構子。 |
| DisposableObject |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| Dlfcn |
提供動態連結器的存取 |
| LinkWithAttribute |
LinkWith 屬性指定了與組合語言相關的原生函式庫如何連結到結果的應用程式。 |
| MarshalManagedExceptionEventArgs |
事件是為該 MarshalManagedException 事件而做的 arg。 |
| MarshalObjectiveCExceptionEventArgs |
事件是為該 MarshalObjectiveCException 事件而做的 arg。 |
| MonoNativeFunctionWrapperAttribute |
屬性 以套用於代理,標記為可與 一起使用 GetDelegateForFunctionPointer(IntPtr, Type)的目標。 |
| MonoPInvokeCallbackAttribute |
屬性用於註解將從未管理世界被呼叫的函式。 |
| NativeAttribute |
此屬性告訴 Xamarin.iOS 執行環境,該管理列舉綁定的原生枚舉大小為每個枚舉值的原生大小(即 32 位元架構上的 32 位元值,64 位元架構上的 64 位元值)。 |
| NativeNameAttribute |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| NativeObjectExtensions |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| NMath |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| ObjCException |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| ObjectiveCFrameworkAttribute |
此屬性告訴執行時 Objective-C 某特定型別屬於哪個框架。 |
| Protocol |
Objective-C 協議的表示。 |
| ReleaseAttribute |
此屬性表示函式的回傳值被保留(呼叫者取得回傳物件的參考)。 |
| RequiredFrameworkAttribute |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| RequiresSuperAttribute |
此屬性應用於必須呼叫基礎實作的方法,當它們被覆寫時。 |
| Runtime |
提供有關 Xamarin.iOS 執行環境的資訊。 |
| Runtime.ClassHandles |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| RuntimeException |
代表 Xamarin 執行時中例外的類別。 |
| Selector |
以管理程式碼表示 Objective-C 選擇器。 |
| SupportedSimulatorAttribute |
表示該 API 支援特定平台。 若指定版本,API 將從指定的作業系統版本開始使用。 可套用多種屬性來表示支援多個作業系統。 |
| ThreadSafeAttribute |
Attribute A 表示 UIKit(iOS 版)或 AppKit(macOS 版)的方法或類別是執行緒安全的。 |
| ThrowHelper |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| TrampolineBlockBase |
Objective-C 彈跳床方塊的基礎類型。 |
| TransientAttribute |
標記 NSObject 子類中的參數為暫時。 |
| TypeConverter |
將 Objective-C 型別編碼轉換為受管理型別,反之亦然。 |
| UnsupportedSimulatorAttribute |
表示模擬器中不支援指定平台的 API。 可套用多種屬性來表示在多個平台上缺乏支援。 |
| UserDelegateTypeAttribute |
此屬性用於綁定產生器建立的代理,以正確映射 Objective-C 區塊的簽章與其對應的受管理代理。 綁定 Objective-C 區塊時,綁定產生器會建立一個受管理代理,其簽名等同於該區塊對應綁定碼的簽名。 然而,這個簽章不一定足夠精確,無法在執行時重現區塊的簽章(在某些情況下是必要的)。 此屬性使得找到由生成綁定暴露的對應受管理代理的類型,該代理擁有足夠資訊以重建對應區塊的簽名。 |
結構
| 名稱 | Description |
|---|---|
| BlockLiteral |
將 ECMA CLI 代理(C# lambda、匿名方法或代理)包裝成 Objective-C 區塊。 |
| NativeHandle |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
介面
| 名稱 | Description |
|---|---|
| INativeObject |
這是一個簡單的介面,用於在 Xamarin.iOS 中暴露各種類別中的非受管理物件指標。 |
列舉
| 名稱 | Description |
|---|---|
| Arch |
用來代表這個應用程式所運行的主機。 |
| ArgumentSemantic |
代表屬性的賦值語意。 |
| BindingImplOptions |
這個列舉型別用 BindingImplAttribute 來提供綁定碼的資訊。 |
| Dlfcn.Mode |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| Dlfcn.RTLD |
動態載入器解析標記。 |
| DlsymOption |
用來指定函式庫是否需要使用 dlsym 來解析 P/Invokes 為原生函式。 |
| LinkTarget |
可用的連結目標 LinkWithAttribute |
| MarshalManagedExceptionMode |
這個枚舉用來指定當拋出受管理異常且該例外到達原生程式碼時該怎麼做。 |
| MarshalObjectiveCExceptionMode |
這個列舉用來指定當拋出 Objective-C 例外且該例外進入受管理程式碼時該怎麼做。 |
委派
| 名稱 | Description |
|---|---|
| AssemblyRegistrationHandler |
ObjCRuntime 命名空間提供類別與屬性,用於將 Objective-C 型別綁定至 .NET。 |
| MarshalManagedExceptionHandler | |
| MarshalObjectiveCExceptionHandler |
備註
ObjCRuntime 命名空間包含用於建立 Objective-C 函式庫與.NET程式碼綁定的基本型別與屬性。 它提供執行時基礎設施,使受管.NET程式碼與蘋果平台上原生 Objective-C 程式碼之間能夠互通。
此命名空間的主要組成部分包括:
- 像是BindAsAttribute、CategoryAttribute 和 DesignatedInitializerAttribute 這類綁定屬性,控制.NET類型如何映射到 Objective-C 類型。 :
- 執行時支援類別如 Class 和 Selector ,提供對 Objective-C 執行時的低階存取。 :
- 區塊互通類型如 BlockLiteral,使得能從 .NET Objective-C 區塊操作。 :
此命名空間主要由函式庫作者使用,為 Objective-C 框架建立綁定,但應用程式開發者有時可能需要使用部分成員以達成進階互通性情境。