Aracılığıyla paylaş


Platform::WeakReference Sınıfı

Ref sınıfının bir örneğine zayıf başvuru temsil eder.

Sözdizimi

class WeakReference

Parametreler

Üyeler

Oluşturucular

Üye Açıklama
WeakReference::WeakReference WeakReference sınıfının yeni bir örneğini başlatır.

Yöntemler

Üye Açıklama
WeakReference::Resolve Temel ref sınıfına bir tanıtıcı veya nesne artık yoksa nullptr döndürür.

İşleçler

Üye Açıklama
WeakReference::operator= WeakReference nesnesine yeni bir değer atar.
WeakReference::operator BoolType Güvenli bool desenini uygular.

Açıklamalar

WeakReference sınıfının kendisi bir ref sınıfı değildir ve bu nedenle Platform::Object^ öğesinden devralılmaz ve ortak bir yöntemin imzasında kullanılamaz.

WeakReference::operator=

WeakReference'a bir değer atar.

Sözdizimi

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

Açıklamalar

Yukarıdaki listedeki son aşırı yükleme, bir WeakReference değişkenine ref sınıfı atamanızı sağlar. Bu durumda başv sınıfı Platform::Object^'e indirilir. Özgün türü daha sonra WeakReference::Resolve<T> üye işlevindeki tür parametresi için bağımsız değişken olarak belirterek geri yüklersiniz.

WeakReference::operator BoolType

WeakReference sınıfı için güvenli bool desenini uygular. Kodunuzdan açıkça çağrılmamalıdır.

Sözdizimi

BoolType BoolType();

WeakReference::Resolve Yöntemi (Platform ad alanı)

Özgün başvuru sınıfına veya nullptr nesne artık mevcut değilse bir tanıtıcı döndürür.

Sözdizimi

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

Parametreler

Özellik Değeri/Dönüş Değeri

WeakReference nesnesinin daha önce ilişkilendirildiği ref sınıfının tanıtıcısı veya nullptr.

Örnek

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

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

Tür parametresinin T^ değil T olduğuna dikkat edin.

WeakReference::WeakReference Oluşturucusu

WeakReference oluşturmak için çeşitli yollar sağlar.

Sözdizimi

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

Örnek

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

Ayrıca bkz.

Platform ad alanı