Utilisation de l’instruction

Définition - Que signifie Using Statement?

Une instruction using dans la syntaxe C # est un moyen clé de gérer l'élimination des ressources dans le code, ce qui peut être efficace pour traiter les problèmes d'allocation de mémoire tels que les fuites de mémoire. Cependant, l'idée d'utiliser une instruction using ne s'applique qu'aux éléments qui implémentent quelque chose appelé IDisposable.

Dans la programmation orientée objet (POO), un modèle de suppression est un processus dans lequel un objet contient une ressource (ou plusieurs ressources), puis la ressource est libérée via une méthode.

Les experts qualifient certaines méthodes d'élimination de «manuelles», contrairement à certains processus de nettoyage de mémoire «automatiques» qui peuvent également être impliqués dans une base de code.

Definir Tech explique Using Statement

Dans la syntaxe C #, le langage de programmation a quelque chose appelé «garbage collection» qui traite de l'élimination des ressources, mais il est, comme le soulignent les experts, «non déterministe» (il appartient également à cette catégorie de «automatique» ou non généré par l'utilisateur techniques d'élimination des ressources) - cela se produit de manière quelque peu arbitraire et sans référence explicite.

L'instruction using, en revanche, permet au programmeur de référencer délibérément et explicitement comment se débarrasser d'un objet qui a été utilisé, ou plus précisément, d'une ressource pour un objet, qui a été utilisé par l'objet.

Souvent, l'élimination sera déclenchée par l'instruction using afin d'autoriser l'élimination directement après l'utilisation.

Le processus IDisposable

Techniquement, les experts soulignent qu'une instruction using déclenche le processus IDisposable, qui n'a qu'une seule méthode appelée «disposer». D'autres montrent comment la modification de la syntaxe du compilateur révélera qu'il existe également un ensemble de commandes "try" et "finally" qui peuvent accomplir le déclencheur d'élimination de l'instruction using.

D'une manière générale, le code référencera la ressource donnée, puis appellera l'instruction using pour déclencher l'élimination.

Les programmeurs peuvent utiliser une instruction using de différentes manières.

Tests unitaires

Les débats autour des utilisations tactiques spécifiques d'une instruction using tournent également autour du fonctionnement du ramasse-miettes et de la meilleure méthode pour gérer l'élimination.

Les programmeurs peuvent inclure des commentaires élaborés qui montrent la méthode et la technique choisies, et comment cela accomplit le processus de mise hors service pour ces éléments qui occupent la mémoire clé d'un système.

D'une certaine manière, la déclaration d'utilisation et tout ce qu'elle implique est encore une autre construction pour aider à traiter la question des «ressources partagées».

En d'autres termes, la danse complexe de la façon dont les programmes partagent les ressources sous-jacentes, les outils, les bibliothèques, etc. et comment cela doit être soigneusement géré en temps réel.

Par exemple, les développeurs chevronnés se souviendront de «l'enfer des DLL» des dernières années qui implique des problèmes d'interdépendance des bibliothèques. Bien que IDisposable et l'instruction using ne soient pas souvent associés explicitement aux bibliothèques, il existe des exemples de programmeurs utilisant la convention de cette manière.

«J'ai… trouvé cet article sur la façon de libérer une bibliothèque DLL déjà chargée dans un processus à l'aide de P-Invoke», écrit un développeur de Code Project.

«Cela oblige à décharger toutes les instances de la bibliothèque DLL actuellement chargées dans le processus. Ce qui signifie que dans le cas où vous auriez plus d'une instance de la classe utilisant ces fonctions externes, toutes celles-ci cesseront de fonctionner! ... nous pouvons implémenter notre classe appelant la fonctionnalité DLL externe avec l'interface IDisposable afin qu'elle libère automatiquement le bibliothèque DLL utilisée lorsqu'elle est hors de portée ou lorsqu'elle est finalisée… »

Dans ce contexte, l'instruction using peut être un moyen utile pour les programmeurs de dépanner manuellement l'allocation des ressources et la mise hors service des ressources.

Cette définition a été écrite dans le contexte de la syntaxe C #