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>();