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