Platform::WeakReference 類別
表示 ref 類別之執行個體的弱式參考。
語法
class WeakReference
參數
成員
建構函式
member | 描述 |
---|---|
WeakReference::WeakReference | 初始化 WeakReference 類別的新執行個體。 |
方法
member | 描述 |
---|---|
WeakReference::Resolve | 傳回基底 ref 類別的控制代碼。如果物件已不存在則傳回 nullptr。 |
操作員
member | 描述 |
---|---|
WeakReference::operator= | 指派新值給 WeakReference 物件。 |
WeakReference::operator BoolType | 實作安全布爾模式。 |
備註
WeakReference 類別本身不是 ref 類別,因此不會繼承 Platform::Object^,而且也不能在公用方法的簽章中使用。
WeakReference::operator=
指派值給 WeakReference。
語法
WeakReference& operator=(decltype(__nullptr));
WeakReference& operator=(const WeakReference& otherArg);
WeakReference& operator=(WeakReference&& otherArg);
WeakReference& operator=(const volatile ::Platform::Object^ const otherArg);
備註
上述清單中的最後一個多載可讓您指派 ref 類別給 WeakReference 變數。 在此情況下,ref 類別會向下轉換成 Platform::Object^。 您稍後會將它指定為 WeakReference::Resolve<T> 成員函式中類型參數的自變數,以還原原始類型。
WeakReference::operator BoolType
為 WeakReference 類別實作安全 bool 樣式。 無法從程式碼中明確呼叫。
語法
BoolType BoolType();
WeakReference::Resolve 方法 (Platform 命名空間)
傳回原始 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>();