IClosableNotifier Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando implementado em uma classe de runtime do WinRT, fornece uma notificação de que um objeto foi fechado (descartado).
public interface class IClosableNotifier
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65540)]
/// [Windows.Foundation.Metadata.Guid(696903995, 60687, 24185, 144, 242, 234, 197, 146, 252, 110, 106)]
struct IClosableNotifier
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65540)]
[Windows.Foundation.Metadata.Guid(696903995, 60687, 24185, 144, 242, 234, 197, 146, 252, 110, 106)]
public interface IClosableNotifier
Public Interface IClosableNotifier
- Derivado
- Atributos
Comentários
A finalidade dessa interface é fornecer uma notificação confiável quando o objeto subjacente é fechado (descartado) e também uma maneira de verificar se o objeto está fechado.
Normalmente, um objeto precisaria saber quando outro objeto WinRT é fechado se depende desse objeto WinRT para satisfazer sua funcionalidade. Se o objeto WinRT do qual ele depende estiver fechado, você poderá executar operações de limpeza e/ou cancelar o registro de eventos.
Estado do objeto quando os eventos são gerados
Quando o evento Closed
ou FrameworkClosed
é processado, o objeto WinRT subjacente já está fechado. Se você tentar acessar as propriedades do objeto (exceto IsClosed
) ou métodos, RO_E_CLOSED
será retornado após esse ponto. As únicas operações permitidas são cancelar a gravação de eventos e verificar a propriedade IsClosed
no objeto.
Ordem dos eventos
Os eventos Closed
e FrameworkClosed
são gerados em pares. Primeiro, o evento FrameworkClosed
é gerado para dar às estruturas a chance de limpar seu estado, em seguida, o evento Closed
é gerado para também dar ao código do aplicativo a chance de limpar.
As estruturas respondem ao primeiro evento para que possam se preparar para que um aplicativo chame a estrutura depois que o objeto for fechado. Por exemplo, uma estrutura pode null
estado interno para que os aplicativos que tentam usar esse estado recebam um erro apropriado em vez de tentar operar em um estado inválido.
Possíveis maneiras pelas quais um objeto WinRT pode ser fechado
- Se o objeto WinRT estiver associado a um determinado thread, ele normalmente será fechado quando o thread for encerrado.
- Se o objeto WinRT implementar
IClosable.Close
, o código externo poderá solicitar explicitamente que ele seja fechado. - Se a última referência forte ao objeto tiver sido liberada, o objeto poderá ser fechado.
Nenhum remetente ou args para o evento
Se os eventos
Propriedades
IsClosed |
Obtém um valor que indica se o objeto está fechado (descartado). |
Eventos
Closed |
Ocorre quando o objeto foi fechado (descartado), após o evento FrameworkClosed, para notificar o aplicativo de que o objeto está fechado. |
FrameworkClosed |
Ocorre quando o objeto foi fechado (descartado), antes do evento Closed, para notificar a estrutura (como XAML) de que o objeto está fechado. |