Avertissements liés à la fiabilité

Les avertissements liés à la fiabilité assurent la fiabilité des bibliothèques et des applications, notamment une exploitation adaptée des threads et de la mémoire.

Dans cette section

Règle

Description

CA2000 : Supprimez les objets avant d'être hors de portée

Sachant qu'un événement exceptionnel peut se produire et empêcher l'exécution du finaliseur d'un objet, ce dernier doit plutôt être supprimé explicitement avant que toutes les références à lui soient hors de portée.

CA2001 : Évitez d'appeler des méthodes susceptibles de poser des problèmes

Un membre appelle une méthode potentiellement dangereuse ou problématique.

CA2002 : Ne définissez pas un verrou sur des objets à identité faible

Un objet est dit d'identité faible lorsqu'il est accessible directement au-delà des limites d'un domaine d'application. Un thread qui essaie d'acquérir un verrou sur un objet qui affiche une identité faible peut être bloqué par un deuxième thread dans un domaine d'application différent qui dispose d'un verrou sur le même objet.

CA2003 : Ne traitez pas les fibres comme des threads

Un thread managé est traité comme un thread Win32.

CA2004 : Supprimez les appels à GC.KeepAlive

Si vous envisagez d'utiliser SafeHandle, supprimez tous les appels à GC.KeepAlive (objet). Dans ce cas, les classes ne requièrent pas d'appel à GC.KeepAlive, en supposant qu'elles ne disposent pas d'un finaliseur, mais dépendent de SafeHandle pour finaliser le handle du système d'exploitation à leur place.

CA2006 : Utilisez SafeHandle pour encapsuler les ressources natives

L'utilisation de IntPtr dans du code managé peut être le signe d'un problème potentiel de sécurité et de fiabilité. Toute utilisation de IntPtr doit être passée en revue pour déterminer s'il est nécessaire de recourir à un SafeHandle ou une technologie similaire à la place.