IClosable.Close Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rilascia le risorse di sistema esposte da un oggetto Windows Runtime.
.NET Questa interfaccia viene visualizzata come System.IDisposable.
C++/CX Questa interfaccia viene visualizzata come Platform::IDisposable.
public:
void Close();
void Close();
public void Close();
function close()
Public Sub Close ()
Commenti
Le note di implementazione/chiamante seguenti sono principalmente rilevanti per WRL.
Note per gli implementatori
Implementare questo metodo per rilasciare le risorse di sistema esclusive in uso, ad esempio handle di file, flussi e socket di rete. Il metodo deve anche rilasciare altre risorse in uso, inclusi i riferimenti agli oggetti e la memoria, per prepararle per il riutilizzo.
Questo metodo deve chiamare il metodo Close di qualsiasi oggetto che contiene che implementa IClosable.
Il metodo Close deve rilasciare le risorse di sistema il più rapidamente possibile, senza bloccare il completamento delle operazioni asincrone. Per assicurarsi che tutte le risorse vengano completamente rilasciate, il chiamante deve attendere il completamento di tutte le operazioni asincrone in sospeso prima di chiamare Close.
Dopo la restituzione di Close, l'oggetto è ancora in memoria, ma senza le risorse di sistema necessarie; pertanto, la maggior parte dei suoi membri non è utilizzabile. Un membro che dipende da una risorsa di sistema rilasciata può restituire RO_E_CLOSED per indicare che l'oggetto è chiuso e non può completare l'operazione richiesta.
Note per i chiamanti
Se chiami Chiudi più volte, non c'è alcun effetto; il metodo restituisce S_OK.
I metodi Close non sono chiamabili tramite C++/CX nelle istanze della classe Windows Runtime in cui la classe ha implementato IClosable, ma viene chiamata automaticamente alla fine dell'ambito corrente. Il codice C++/CX per le classi di runtime deve chiamare il distruttore o impostare l'ultimo riferimento su Null.
In C#, questo metodo viene esposto come Dispose. È possibile chiamare Dispose direttamente o usare un'istruzione using.