Finaliser / disposer de la méthode dans la gestion des ressources de la méthode finaliser / disposer
En C #, les méthodes finalisées et disposées jouent un rôle vital dans la sortie de la version des ressources, en particulier dans la catégorie de l'hébergement de la garde et des ressources non d'hébergement.
<.> 1. Finaliser la méthode et les ressources non d'hébergement:
Finaliser La méthode est principalement utilisée pour libérer des ressources non transformées qui ne peuvent pas être récupérées automatiquement en libérant des recychers de déchets (GC). Si une classe utilise directement ou indirectement les ressources d'hébergement, les méthodes finalisées et disposées doivent être mises en œuvre en même temps.
<.> 2. Interface iDisposable et utilisation de l'instruction:
L'interface iDisposable fournit une méthode pour permettre à la classe de nettoyer proprement la garde et les ressources non hospitalières. Lorsqu'une classe met en œuvre cette interface, le client peut utiliser l'instruction d'utilisation pour s'assurer que la méthode Disser est automatiquement appelée automatiquement à la fin de la portée. Même si la classe n'inclut pas les ressources non d'hébergement, il est recommandé d'implémenter l'interface IDISPOSable afin que le client puisse utiliser l'instruction d'utilisation et bénéficier de la fonction de version de ressource automatique qu'elle a fournie.
<.> 3. Exemple d'analyse du code:
Dans le code fourni, la classe Nogateway montre comment utiliser iDisposable sans la méthode finalisée. La méthode Disser est appelée à la fin du bloc d'utilisation, et les ressources de l'objet WebClient sont automatiquement publiées.
<.> 4. Ressources WebClient and Non-Hosting:
La classe WebClient elle-même utilise des ressources non d'hébergement. Il est difficile de formuler une règle dure qui détermine si la classe utilise des ressources non hospitalisées, mais la mise en œuvre de la classe d'observation peut fournir des indices. Dans cet exemple, la classe WebClient interagit avec le réseau sous-jacent, qui implique généralement des ressources non d'hébergement.
Lorsque vous utilisez une programmation iDisposable, deux modes sont recommandés:
Les revendications d'étanchéité sans contrôler les ressources: Implémentez la méthode Disser, mais n'implémentez pas la méthode Finalize.
Classes non-secrètes contenant des ressources non d'hébergement:
Implémenter la méthode Disser et Disser (Bool Disosing).
DISSOSE (DISSAGE) dans la méthode de disposition.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!