ApiDefinitions と StructsAndEnums ファイル
Objective Sharpie が正常に実行されると、Binding/ApiDefinitions.cs
と Binding/StructsAndEnums.cs
ファイルが生成されます。
これら 2 つのファイルは、Visual Studio for Mac のバインド プロジェクトに追加されるか、btouch
または bmac
ツールに直接渡されて最終的なバインドが生成されます。
場合によっては、これらの生成されたファイルだけが必要な場合もありますが、多くの場合、開発者はツールが自動で処理できなかった問題 (Verify
属性でフラグが設定された問題など) を修正するために、これらの生成されたファイルを手動で変更する必要があります。
次の手順の一部を次に示します。
- 名前の調整: .NET Framework の設計ガイドラインに一致するように、メソッドとクラスの名前を調整することが必要な場合があります。
- メソッドまたはプロパティ: Objective Sharpie で使用されるヒューリスティックは、プロパティに変換されるメソッドを選択することがあります。 この時点で、これが意図した動作であるかどうかを判断できます。
- イベントをフックする: クラスをデリゲート クラスにリンクし、それらのイベントを自動的に生成できます。
- 通知をフックする: 純粋なヘッダー ファイルから通知の API コントラクトを抽出することはできません。これには API ドキュメントへのアクセスが必要です。 厳密に型指定された通知が必要な場合は、結果を更新する必要があります。
- API キュレーション: この時点で、追加のコンストラクターの提供、メソッドの追加 (C# の構築時の初期化構文を可能にするため)、演算子のオーバーロード、および追加の定義ファイルでの独自のインターフェイスの実装を選択できます。
次の図に示すように、これらのファイルがバインド プロセスにどのように適合するかを確認するには、API のバインドの説明を参照します。
これらのファイルの内容の詳細については、「型のバインド リファレンス」を参照してください。