CA1804 : Supprimez les variables locales inutilisées

TypeName

RemoveUnusedLocals

CheckId

CA1804

Catégorie

Microsoft.Performance

Modification avec rupture

Modification sans rupture

Cause

Une méthode déclare une variable locale, mais n'utilise pas la variable sauf éventuellement en tant que destinataire d'une instruction d'assignation. Pour l'analyse par cette règle, l'assembly testé doit être construit avec des informations de débogage et le fichier de base de données de programme (.pdb) associé doit être disponible.

Description de la règle

Les variables locales inutilisées et les assignations inutiles augmentent la taille d'un assembly et font baisser les performances.

Comment corriger les violations

Pour corriger une violation de cette règle, supprimez ou utilisez la variable locale. Remarquez que le compilateur C# intégré à .NET Framework 2.0 supprime ces variables locales inutiles lorsque l'option optimize est activée.

Quand supprimer les avertissements

Supprimez un avertissement de cette règle si la variable était émise par un compilateur. Par mesure de sécurité, il est également recommandé de supprimer un avertissement de cette règle, voire de désactiver la règle, si les performances et la maintenance du code ne constituent pas des problèmes de premier plan.

Exemple

L'exemple suivant présente plusieurs variables locales inutilisées.

Imports System
Imports System.Windows.Forms

Namespace PerformanceLibrary

   Public Class UnusedLocals

      Sub SomeMethod()

         Dim unusedInteger As Integer
         Dim unusedString As String = "hello"
         Dim unusedArray As String() = Environment.GetLogicalDrives()
         Dim unusedButton As New Button()

      End Sub

   End Class

End Namespace
using System;
using System.Windows.Forms;

namespace PerformanceLibrary
{
   public class UnusedLocals
   {
      public void SomeMethod()
      {
         int unusedInteger;
         string unusedString = "hello";
         string[] unusedArray = Environment.GetLogicalDrives();
         Button unusedButton = new Button();
      }
   }
}

Règles connexes

CA1809 : Évitez le surplus de variables locales

CA1811 : Évitez le recours à du code privé non appelé

CA1812 : Évitez les classes internes non instanciées

CA1801 : Passez en revue les paramètres inutilisés