다음을 통해 공유


DependentHandle 구조체

정의

종속 가비지 수집 핸들을 나타냅니다. 대상 인스턴스에 대한 강력한 참조를 나타내지 않고 대상 개체 인스턴스도 활성 상태인 한 핸들은 조건부로 종속 개체 인스턴스를 활성 상태로 유지합니다.

public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
    interface IDisposable
Public Structure DependentHandle
Implements IDisposable
상속
DependentHandle
구현

설명

DependentHandle 지정된 개체가 대상으로 instance 값은 대상에 대한 다른 강력한 참조가 없는 경우 대상을 활성 상태로 유지하지 않지만 대상이 활성 상태인 한 종속 개체 instance 대해 이 작업을 수행합니다.

이 형식을 사용하는 것은 개념적으로 A에 instance 지정된 대상 개체에 대한 약한 참조를 갖는 것과 동일하며, 해당 개체에는 종속 개체에 대한 필드 또는 속성(또는 다른 강력한 참조)이 instance.

형식은 DependentHandle 스레드로부터 안전하지 않으며 소비자는 이 가 다른 API와 동시에 호출되지 않도록 할 Dispose() 책임이 있습니다. 이렇게 하지 않으면 정의되지 않은 동작이 발생합니다.

IsAllocated대신 , Target, DependentTargetAndDependent 속성은 스레드로부터 안전하며 가 동시에 호출되지 않은 경우 Dispose() 안전하게 사용할 수 있습니다.

생성자

DependentHandle(Object, Object)

지정된 인수를 사용하여 구조체의 DependentHandle 새 instance 초기화합니다.

속성

Dependent

현재 핸들에 대한 종속 개체 instance 가져오거나 설정합니다.

IsAllocated

이 instance 로 생성 DependentHandle(Object, Object) 되었으며 아직 삭제되지 않았음을 나타내는 값을 가져옵니다.

Target

현재 핸들에 대한 대상 개체 instance 가져오거나 설정합니다. 대상은 instance 만든 후에 DependentHandle 만 값으로 설정할 null 수 있습니다. 이렇게 Dependent 하면 반환 null 을 시작하고 이전 대상이 아직 활성 상태인 경우에도 컬렉션에 적합하게 됩니다.

TargetAndDependent

원자성 연산으로 및 Dependent (사용 가능한 경우) 값을 모두 Target 가져옵니다. 즉, 가 로 동시에 설정된 null경우에도 Target 이 메서드를 호출하면 대상과 종속 모두에 대해 를 반환 null 하거나 이전 값을 모두 반환합니다. 이 시나리오에서 및 Dependent 를 순차적으로 사용한 경우 Target 때로는 이전 대상을 성공적으로 검색할 수 있지만 종속을 가져오는 데 실패할 수 있습니다.

메서드

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

적용 대상