DependentHandle 構造体
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
依存ガベージ コレクション ハンドルを表します。 このハンドルは、ターゲット インスタンスへの強い参照を表すことなく、ターゲット オブジェクト インスタンスもアライブである限り、依存オブジェクト インスタンスを条件付きでアライブに維持します。
public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
interface IDisposable
Public Structure DependentHandle
Implements IDisposable
- 継承
- 実装
注釈
DependentHandle指定されたオブジェクト インスタンスを target として持つ値は、ターゲットへの他の厳密な参照がない場合、ターゲットをアクティブに保つわけではありませんが、ターゲットがアクティブである限り、依存オブジェクト インスタンスに対して実行されます。
この型の使用は、概念的には、特定のターゲット オブジェクト インスタンス A への弱い参照を持ち、そのオブジェクトに依存オブジェクト インスタンス B へのフィールドまたはプロパティ (またはその他の強力な参照) を持つことと同じです。
型は DependentHandle スレッド セーフではなく、コンシューマーは、他 Dispose() の API と同時に呼び出されないようにする責任があります。 これを行わないと、未定義の動作が発生します。
、IsAllocated、Dependentおよび TargetAndDependent プロパティは代わりにスレッド セーフであり、 が同時に呼び出されない場合Dispose()は安全に使用できます。 Target
コンストラクター
DependentHandle(Object, Object) |
指定した引数を使用して DependentHandle 、構造体の新しいインスタンスを初期化します。 |
プロパティ
Dependent |
現在のハンドルの依存オブジェクト インスタンスを取得または設定します。 |
IsAllocated |
このインスタンスが で DependentHandle(Object, Object) 構築され、まだ破棄されていないかどうかを示す値を取得します。 |
Target |
現在のハンドルのターゲット オブジェクト インスタンスを取得または設定します。 ターゲットは、インスタンスが |
TargetAndDependent |
と Dependent (使用可能な場合) の両方Targetの値をアトミック操作として取得します。
つまり、 が に同時に設定 |
メソッド
Dispose() |
アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。 |
適用対象
.NET