共用方式為


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

另請參閱

平台命名空間