ObjCRuntime 名前空間

ObjCRuntime 名前空間は、Objective-C 型を.NETにバインドするためのクラスと属性を提供します。

クラス

名前 説明
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 イベントのイベント引数。

MarshalObjectiveCExceptionEventArgs

MarshalObjectiveCException イベントのイベント引数。

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 がサポートされていることを示します。 バージョンが指定されている場合、指定した OS バージョンから API を使用できます。 複数の属性を適用して、複数のオペレーティング システムでのサポートを示すことができます。

ThreadSafeAttribute

UIKit (iOS の場合) または AppKit (macOS の場合) のメソッドまたはクラスがスレッド セーフであることを示す Attribute

ThrowHelper

ObjCRuntime 名前空間は、Objective-C 型を.NETにバインドするためのクラスと属性を提供します。

TrampolineBlockBase

トランポリン ブロック Objective-C 基本型。

TransientAttribute

NSObject サブクラス内のパラメーターに一時的なフラグを設定します。

TypeConverter

Objective-C 型エンコードをマネージド型に変換します。その逆も同様です。

UnsupportedSimulatorAttribute

指定したプラットフォームのシミュレーターで API がサポートされていないことを示します。 複数の属性を適用して、複数のプラットフォームでサポートされていないことを示すことができます。

UserDelegateTypeAttribute

この属性は、バインド ジェネレーターによって作成されたデリゲートで使用され、Objective-C ブロックのシグネチャとそれに対応する公開されたマネージド デリゲートの間で適切にマップされます。

Objective-C ブロックをバインドすると、バインド ジェネレーターによってマネージド デリゲートが作成されます。このデリゲートのシグネチャは、必要なバインド コードに対応するブロックの署名と同等です。 ただし、この署名は必ずしも実行時にブロックの署名を再作成するのに十分な正確さではありません (状況によっては必要になります)。 この属性を使用すると、生成されたバインディングによって公開される、対応するマネージド デリゲートの型を検索できます。これにより、対応するブロックのシグネチャを再作成するのに十分な情報が得られます。

構造体

名前 説明
BlockLiteral

ECMA CLI デリゲート (C# ラムダ、匿名メソッド、またはデリゲート) を Objective-C ブロックとしてラップします。

NativeHandle

ObjCRuntime 名前空間は、Objective-C 型を.NETにバインドするためのクラスと属性を提供します。

インターフェイス

名前 説明
INativeObject

Xamarin.iOS のさまざまなクラスでアンマネージ オブジェクト ポインターを公開するために使用される単純なインターフェイス。

列挙型

名前 説明
Arch

このアプリが実行されているホストを表すために使用されます。

ArgumentSemantic

プロパティの割り当てセマンティクスを表します。

BindingImplOptions

この列挙型は、バインド コードに関する情報を提供するために、 BindingImplAttribute 型によって使用されます。

Dlfcn.Mode

ObjCRuntime 名前空間は、Objective-C 型を.NETにバインドするためのクラスと属性を提供します。

Dlfcn.RTLD

動的ローダー解決フラグ。

DlsymOption

ライブラリで P/Invoke をネイティブ関数に解決するために dlsym を使用する必要があるかどうかを指定するために使用されます。

LinkTarget

使用可能なリンク ターゲット LinkWithAttribute

MarshalManagedExceptionMode

この列挙型は、マネージド例外がスローされ、その例外がネイティブ コードに達したときに実行する処理を指定するために使用されます。

MarshalObjectiveCExceptionMode

この列挙型は、Objective-C 例外がスローされ、その例外がマネージド コードに達したときに実行する処理を指定するために使用されます。

代理人

名前 説明
AssemblyRegistrationHandler

ObjCRuntime 名前空間は、Objective-C 型を.NETにバインドするためのクラスと属性を提供します。

MarshalManagedExceptionHandler

MarshalManagedException イベントのイベント デリゲート。

MarshalObjectiveCExceptionHandler

MarshalObjectiveCException イベントのイベント デリゲート。

注釈

ObjCRuntime 名前空間には、Objective-C ライブラリと.NET コード間のバインディングを作成するために使用される基本的な型と属性が含まれています。 これにより、Apple プラットフォーム上のマネージド .NET コードとネイティブ Objective-C コード間の相互運用性を実現するランタイム インフラストラクチャが提供されます。

この名前空間の主なコンポーネントは次のとおりです。

  • BindAsAttributeCategoryAttributeDesignatedInitializerAttribute などのバインド属性で、.NET型を Objective-C 型にマップする方法を制御します。 :
  • ランタイムは、Objective-C ランタイムへの低レベルのアクセスを提供する ClassSelector などのクラスをサポートします。 :
  • .NETからの Objective-C ブロックの操作を可能にする BlockLiteral などの相互運用性の種類をブロックします。 :

この名前空間は主に、Objective-C フレームワークへのバインドを作成するライブラリ作成者によって使用されますが、アプリケーション開発者は、高度な相互運用性シナリオのためにメンバーの一部を使用する必要がある場合があります。