DependentHandle 구조체

정의

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

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

설명

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

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

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

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

생성자

Name Description
DependentHandle(Object, Object)

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

속성

Name Description
Dependent

현재 핸들의 종속 개체 인스턴스를 가져오거나 설정합니다.

IsAllocated

이 인스턴스가 생성 DependentHandle(Object, Object) 되었으며 아직 삭제되지 않았는지 여부를 나타내는 값을 가져옵니다.

Target

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

TargetAndDependent

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

메서드

Name Description
Dispose()

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

적용 대상