Classe Platform::WeakReference
Representa uma referência fraca a uma instância de uma classe ref.
Sintaxe
class WeakReference
Parâmetros
Membros
Construtores
Membro | Descrição |
---|---|
WeakReference::WeakReference | Inicializa uma nova instância da classe WeakReference. |
Métodos
Membro | Descrição |
---|---|
WeakReference::Resolve | Retorna um identificador à classe ref subjacente ou nullptr, caso o objeto não exista mais. |
Operadores
Membro | Descrição |
---|---|
WeakReference::operator= | Atribui um novo valor ao objeto WeakReference. |
WeakReference::operator BoolType | Implementa o padrão de bool seguro. |
Comentários
A própria classe WeakReference não é uma classe ref e, portanto, não herda de Platform::Object^ e não pode ser usada na assinatura de um método público.
WeakReference::operator=
Atribui um valor a WeakReference.
Sintaxe
WeakReference& operator=(decltype(__nullptr));
WeakReference& operator=(const WeakReference& otherArg);
WeakReference& operator=(WeakReference&& otherArg);
WeakReference& operator=(const volatile ::Platform::Object^ const otherArg);
Comentários
A última sobrecarga na lista acima permite que você atribua uma classe ref a uma variável WeakReference. Nesse caso, a classe da referência é rebaixada para Platform::Object^. Você restaura o tipo original posteriormente especificando-o como argumento para o parâmetro de tipo na função de membro WeakReference::Resolve<T>.
WeakReference::operator BoolType
Implementa o padrão de bool seguro para a classe WeakReference. Não deve ser chamada explicitamente em seu código.
Sintaxe
BoolType BoolType();
Método WeakReference::Resolve (namespace da plataforma)
Retorna um identificador à classe ref original ou nullptr
, caso o objeto não exista mais.
Sintaxe
template<typename T>
T^ Resolve() const;
Parâmetros
Valor da propriedade/Valor do retorno
Um identificador para a classe ref à qual o objeto WeakReference foi associado anteriormente, ou nullptr.
Exemplo
Bar^ bar = ref new Bar();
//use bar...
if (bar != nullptr)
{
WeakReference wr(bar);
Bar^ newReference = wr.Resolve<Bar>();
}
Observe que o parâmetro de tipo é T, não T^.
Construtor WeakReference::WeakReference
Fornece várias maneiras de construir um WeakReference.
Sintaxe
WeakReference();
WeakReference(decltype(__nullptr));
WeakReference(const WeakReference& otherArg);
WeakReference(WeakReference&& otherArg);
explicit WeakReference(const volatile ::Platform::Object^ const otherArg);
Exemplo
MyClass^ mc = ref new MyClass();
WeakReference wr(mc);
MyClass^ copy2 = wr.Resolve<MyClass>();