ContractHandle クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アドインの有効期間を制御するメソッドを提供します。
public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
interface IDisposable
Public Class ContractHandle
Implements IDisposable
- 継承
-
ContractHandle
- 実装
例
次の例は、パイプラインのアドイン側のコントラクトからビューへのアダプターで有効期間トークン ハンドルを設定する方法を示しています。
private CalculatorContracts.ICalc2Contract _contract;
private System.AddIn.Pipeline.ContractHandle _handle;
public CalculatorContractToViewHostAdapter(ICalc2Contract contract) {
_contract = contract;
_handle = new System.AddIn.Pipeline.ContractHandle(contract);
}
Private _contract As ICalc2Contract
Private _handle As ContractHandle
Public Sub New(ByVal contract As ICalc2Contract)
_contract = contract
_handle = New ContractHandle(contract)
End Sub
注釈
アドイン モデルは、アプリケーション ドメイン間およびプロセス間でアドインが通信する機能を提供するため、ガベージ コレクターを利用してそれらを再利用することはできません。 このクラスは、コントラクトへの有効期間トークンを取得することによって、アドインの参照カウント メカニズムを提供します。
オブジェクトが ContractHandle 構築されると、コンストラクターに渡されるコントラクトで メソッドが呼び出 AcquireLifetimeToken されます。 オブジェクトが ContractHandle 破棄または最終処理されると、コントラクトで メソッドが RevokeLifetimeToken 呼び出され、コントラクトの保留が削除されます。
アダプターはコントラクトを実装します。 クラスは ContractHandle 、パイプライン開発者が調整中のコントラクトの有効期間を管理するのに役立つ、コントラクトからビューへのアダプターで使用するように設計されています。 通常、このクラスのインスタンスはアダプター クラスの構築中にインスタンス化され、アダプターのインスタンス フィールドに格納されます。 アダプター クラスがガベージ コレクションされると、オブジェクトも収集され、ContractHandleContractHandleオブジェクトはコントラクトの有効期間トークンを取り消します。
ビューからコントラクトへのアダプターは、 クラスから ContractBase 継承することをお勧めします。 その後、 のメンバーに既定の IContract実装を使用できます。つまり、特定のコントラクトのメンバーのみを実装する必要があります。
コンストラクター
ContractHandle(IContract) |
ContractHandle クラスの新しいインスタンスを初期化します。 |
プロパティ
Contract |
パイプラインで使用されるコントラクトを取得します。 |
メソッド
AppDomainOwner(AppDomain) |
アプリケーション ドメインが作成されたときに、アドイン側アダプターのインスタンスを取得します。 |
ContractOwnsAppDomain(IContract, AppDomain) |
アプリケーション ドメインが指定したコントラクトによって所有されているかどうかを確認します。 |
Dispose() |
入力に関係なく、コントラクトの有効期間トークンを破棄します。 |
Dispose(Boolean) |
入力に関係なくコントラクトの有効期間トークンを破棄し、オプションでマネージド リソースを解放します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Finalize() |
ContractHandle インスタンスと関連付けられたリソースを解放します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET