Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Представляет слабую ссылку на экземпляр класса ссылок.
Синтаксис
class WeakReference
Параметры
Участники
Конструкторы
| Элемент | Description |
|---|---|
| WeakReference::WeakReference | Инициализирует новый экземпляр класса WeakReference. |
Методы
| Элемент | Description |
|---|---|
| WeakReference::Resolve | Возвращает дескриптор базовому классу ссылок или значение nullptr, если объект больше не существует. |
Операторы
| Элемент | Description |
|---|---|
| WeakReference::operator= | Присваивает новое значение объекту WeakReference. |
| WeakReference::operator BoolType | Реализует безопасный логический шаблон. |
Замечания
Класс WeakReference сам не является классом ссылок и поэтому не наследуется от 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);
Замечания
Последняя перегрузка в списке выше позволяет назначить класс ссылок переменной WeakReference. В этом случае класс ref переадресуется в Platform::Object^. Вы восстановите исходный тип позже, указав его в качестве аргумента для параметра типа в функции-члене WeakReference::Resolve<T> .
WeakReference::operator BoolType
Реализует безопасный шаблон bool для класса WeakReference. Не предназначен для явного вызова в коде.
Синтаксис
BoolType BoolType();
Метод WeakReference::Resolve (пространство имен Platform)
Возвращает дескриптор для исходного класса ссылок или nullptr, если объект больше не существует.
Синтаксис
template<typename T>
T^ Resolve() const;
Параметры
Значение свойства/возвращаемое значение
Дескриптор класс ссылок, с которым ранее был связан объект WeakReference, или значение 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>();