다음을 통해 공유


Platform::WeakReference 클래스

ref 클래스 인스턴스에 대한 약한 참조를 나타냅니다.

구문

class WeakReference

매개 변수

멤버

생성자

멤버 설명
WeakReference::WeakReference WeakReference 클래스의 새 인스턴스를 초기화합니다.

메서드

멤버 설명
WeakReference::Resolve 기본 ref 클래스에 대한 핸들 또는 nullptr(개체가 더 이상 존재하지 않는 경우)을 반환합니다.

연산자

멤버 설명
WeakReference::operator= WeakReference 개체에 새 값을 할당합니다.
WeakReference::operator BoolType 안전 부울 패턴을 구현합니다.

설명

WeakReference 클래스 자체는 ref 클래스가 아니므로 Platform::Object^에서 상속하지 않으며 public 메서드의 시그니처에 사용될 수 없습니다.

WeakReference::operator=

WeakReference에 값을 할당합니다.

구문

WeakReference& operator=(decltype(__nullptr));
WeakReference& operator=(const WeakReference& otherArg);
WeakReference& operator=(WeakReference&& otherArg);
WeakReference& operator=(const volatile ::Platform::Object^ const otherArg);

설명

위의 목록에서 마지막 오버로드를 사용하면 WeakReference 변수에 ref 클래스를 할당할 수 있습니다. 이 경우 ref 클래스는 Platform::Object^로 다운캐스트됩니다. 나중에 WeakReference::Resolve<T> 멤버 함수에서 형식 매개 변수의 인수로 지정하여 원래 형식을 복원합니다.

WeakReference::operator BoolType

WeakReference 클래스에 대한 안전 bool 패턴을 구현합니다. 코드에서 명시적으로 호출하면 안 됩니다.

구문

BoolType BoolType();

WeakReference::Resolve 메서드(플랫폼 네임스페이스)

원래 ref 클래스에 대한 핸들 또는 nullptr(개체가 더 이상 존재하지 않는 경우)을 반환합니다.

구문

template<typename T>
T^ Resolve() const;

매개 변수

속성 값/반환 값

WeakReference 개체가 이전에 연결되었던 ref 클래스에 대한 핸들 또는 nullptr입니다.

예시

Bar^ bar = ref new Bar();
//use bar...

if (bar != nullptr)
{
    WeakReference wr(bar);
    Bar^ newReference = wr.Resolve<Bar>();
}

형식 매개 변수는 T^이 아니라 T입니다.

WeakReference::WeakReference 생성자

WeakReference를 생성하는 다양한 방법을 제공합니다.

구문

WeakReference();
WeakReference(decltype(__nullptr));
WeakReference(const WeakReference& otherArg);
WeakReference(WeakReference&& otherArg);
explicit WeakReference(const volatile ::Platform::Object^ const otherArg);

예시

MyClass^ mc = ref new MyClass();
WeakReference wr(mc);
MyClass^ copy2 = wr.Resolve<MyClass>();

참고 항목

Platform 네임스페이스