DependentHandle Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje zależny uchwyt odzyskiwania pamięci. Dojście będzie warunkowo utrzymywać wystąpienie obiektu zależnego tak długo, jak wystąpienie obiektu docelowego jest również aktywne, bez reprezentowania silnego odwołania do wystąpienia docelowego.
public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
interface IDisposable
Public Structure DependentHandle
Implements IDisposable
- Dziedziczenie
- Implementuje
Uwagi
DependentHandle Wartość z danym wystąpieniem obiektu jako obiektem docelowym nie spowoduje utrzymania obiektu docelowego, jeśli nie ma do niego żadnych innych silnych odwołań, ale zrobi to dla wystąpienia obiektu zależnego tak długo, jak obiekt docelowy jest aktywny.
Użycie tego typu jest koncepcyjnie równoważne ze słabym odwołaniem do danego wystąpienia obiektu docelowego A, a ten obiekt ma pole lub właściwość (lub inne silne odwołanie) do wystąpienia obiektu zależnego B.
Typ DependentHandle nie jest bezpieczny wątkowo, a użytkownicy są odpowiedzialni za zapewnienie, że Dispose() nie jest wywoływany współbieżnie z innymi interfejsami API. Nie powoduje to niezdefiniowanego zachowania.
Właściwości IsAllocated, Target, i DependentTargetAndDependent są zamiast tego bezpieczne wątkowo i bezpieczne do użycia, jeśli Dispose() nie są również wywoływane współbieżnie.
Konstruktory
DependentHandle(Object, Object) |
Inicjuje DependentHandle nowe wystąpienie struktury z określonymi argumentami. |
Właściwości
Dependent |
Pobiera lub ustawia wystąpienie obiektu zależnego dla bieżącego uchwytu. |
IsAllocated |
Pobiera wartość wskazującą, czy to wystąpienie zostało skonstruowane z elementem DependentHandle(Object, Object) i nie zostało jeszcze usunięte. |
Target |
Pobiera lub ustawia wystąpienie obiektu docelowego dla bieżącego uchwytu. Element docelowy można ustawić tylko na |
TargetAndDependent |
Pobiera wartości zarówno, Target jak i Dependent (jeśli są dostępne) jako operację niepodzielna.
Oznacza to, że nawet jeśli Target jest jednocześnie ustawiona na |
Metody
Dispose() |
Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych. |