Partager via


ChangeMonitor.Dispose Méthode

Définition

Libère toutes les ressources utilisées par l’instance actuelle de la ChangeMonitor classe.

Surcharges

Nom Description
Dispose()

Libère toutes les ressources utilisées par l’instance actuelle de la ChangeMonitor classe.

Dispose(Boolean)

Libère toutes les ressources managées et non managées et toutes les références à l’instance ChangeMonitor . Cette surcharge doit être implémentée par les classes de moniteur de modification dérivées.

Remarques

La Dispose méthode est utilisée pour libérer l’instance ChangeMonitor et les ressources associées. La méthode publique Dispose est appelée pour coordonner le processus de suppression avec les événements de cycle de vie clés des classes de moniteur de modification dérivées (par exemple, l’initialisation) et pour libérer l’instance ChangeMonitor afin que l’instance puisse être récupérée par le garbage collect. La Dispose méthode est implémentée par des classes de moniteur de modification dérivées pour supprimer leurs ressources managées et non managées.

Dispose()

Source:
ChangeMonitor.cs
Source:
ChangeMonitor.cs
Source:
ChangeMonitor.cs
Source:
ChangeMonitor.cs

Libère toutes les ressources utilisées par l’instance actuelle de la ChangeMonitor classe.

public:
 virtual void Dispose();
public void Dispose();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

Implémente

Exceptions

L’initialisation n’est pas terminée dans la classe change-monitor dérivée qui a appelé la méthode de base Dispose() .

Remarques

La Dispose méthode appelle la Dispose méthode de classes dérivées une seule fois, la première fois qu’elle est appelée. Les appels suivants à la méthode n’ont Dispose aucun effet. Une fois la méthode appelée, la IsDisposed propriété est définie sur true.

La Dispose surcharge doit être appelée pour supprimer une ChangeMonitor instance. Voici les règles d’appel de la méthode de suppression :

  • Avant d’insérer un élément dans le cache, il incombe à l’appelant de supprimer une ChangeMonitor instance.

  • Une fois l’élément de cache et les ChangeMonitor instances associées à celui-ci passées à un cache, l’implémenteur de cache qui doit s’assurer qu’il Dispose est appelé, même si l’insertion échoue.

  • Une fois qu’un élément et ses instances associées ChangeMonitor sont passées à un cache, l’appelant ne doit pas supprimer la dépendance, car lorsque la Dispose méthode est appelée, l’appel est traité comme si la dépendance a changé. Par conséquent, la OnChanged méthode est appelée automatiquement.

  • En tenant compte de ces règles, la Dispose méthode doit être appelée de l’une des manières suivantes :

    • Les utilisateurs doivent appeler la surcharge de méthode Dispose s’ils décident de ne pas insérer l’instance de moniteur de modification dérivée dans un cache.

    • L’implémentation du cache est chargée d’appeler la Dispose surcharge si l’implémentation tente d’insérer l’instance de change-monitor dans un cache d’objets, mais que l’insertion échoue. Lorsque la tentative d’insertion provoque une exception, l’implémentation du cache doit supprimer toutes les dépendances associées.

    • Si l’entrée du cache est supprimée, l’implémentation du cache doit également supprimer la dépendance.

L’implémentation interne de la OnChanged méthode appelle automatiquement la Dispose méthode après qu’elle appelle un rappel inscrit via la NotifyOnChanged méthode.

Note

Cette suppression automatique pendant le déclenchement de l’événement se produit uniquement si l’initialisation de l’instance ChangeMonitor a été effectuée précédemment.

Quand le constructeur d’un moniteur de modification dérivé appelle la InitializationComplete méthode, si l’état du moniteur de modification a déjà changé (autrement dit, l’état surveillé a déjà changé lorsque le constructeur était toujours actif), la InitializationComplete méthode supprime automatiquement le moniteur de modification.

Note

Les utilisateurs ne doivent pas appeler la Dispose méthode. Toutefois, vous ne pouvez pas empêcher les utilisateurs d’appeler la méthode. Par conséquent, s’ils le font, la OnChanged méthode est appelée. Dans ce cas, l’entrée du cache est avertie comme si la dépendance a changé.

Pour empêcher les classes dérivées de remplacer Dispose la méthode, la méthode n’est pas une implémentation d’interface explicite.

Voir aussi

S’applique à

Dispose(Boolean)

Source:
ChangeMonitor.cs
Source:
ChangeMonitor.cs
Source:
ChangeMonitor.cs
Source:
ChangeMonitor.cs

Libère toutes les ressources managées et non managées et toutes les références à l’instance ChangeMonitor . Cette surcharge doit être implémentée par les classes de moniteur de modification dérivées.

protected:
 abstract void Dispose(bool disposing);
protected abstract void Dispose(bool disposing);
abstract member Dispose : bool -> unit
Protected MustOverride Sub Dispose (disposing As Boolean)

Paramètres

disposing
Boolean

true pour libérer des ressources managées et non managées et toutes les références à une ChangeMonitor instance ; false pour libérer uniquement les ressources non managées. Lorsqu’elle false est passée, la Dispose(Boolean) méthode est appelée par un finalizer thread et toutes les références managées externes ne sont probablement plus valides, car elles ont déjà été collectées par la mémoire.

Remarques

Lorsque la valeur de disposing la valeur est true, toutes les ressources managées et non managées sont supprimées et toutes les références à cet objet sont libérées afin que l’instance de moniteur de modification dérivée puisse être récupérée par le garbage collect. Il est garanti que la méthode de base Dispose appelle la méthode implémentée Dispose une seule fois.

Notes pour les responsables de l’implémentation

Un moniteur de modification doit implémenter la Dispose(Boolean) surcharge pour libérer toutes les ressources managées et non managées lorsque la valeur est disposingtrue. La Dispose(Boolean) surcharge de true méthode dont disposing la valeur est appelée une seule fois, à savoir lorsque l’instance est supprimée pour la première fois. Un moniteur de modification ne doit pas appeler directement la Dispose(Boolean) surcharge. Un moniteur de modification dérivé peut appeler la méthode publique sans paramètre Dispose() sur la classe de base ChangeMonitor .

Vous pouvez également implémenter une méthode finaliseur. Dans ce cas, le finaliseur peut appeler la Dispose(Boolean) méthode et lui transmettre une disposing valeur false. Toutefois, cela n’est généralement pas nécessaire. La surveillance des modifications de dépendances est généralement effectuée par un service qui gère une référence à l’instance de moniteur de modification. La référence empêche l’instance d’être collectée par le garbage collection et rend donc inutile une méthode finaliseur. Pour éviter les fuites de mémoire, lorsqu’une dépendance change, la OnChanged(Object) méthode supprime l’instance de change-monitor (sauf si l’initialisation n’a pas terminé).

S’applique à