Évitez le recours à du code privé non appelé
Mise à jour : novembre 2007
TypeName |
AvoidUncalledPrivateCode |
CheckId |
CA1811 |
Catégorie |
Microsoft.Performance |
Modification avec rupture |
Modification sans rupture |
Cause
Un membre privé ou interne (de niveau assembly) n'a pas d'appelants dans l'assembly, et n'est appelé ni par le Common Language Runtime, ni par un délégué. Les membres suivants ne sont pas vérifiés par cette règle :
Membres d'interface explicites.
Constructeurs statiques.
Constructeurs de sérialisation.
Méthodes marquées avec System.Runtime.InteropServices.ComRegisterFunctionAttribute ou System.Runtime.InteropServices.ComUnregisterFunctionAttribute.
Membres qui constituent des substitutions.
Description de la règle
Cette règle peut rapporter des faux positifs en présence de points d'entrée qui ne sont actuellement pas identifiés par la logique de la règle. De plus, un compilateur peut émettre un code ne pouvant être appelé à destination d'un assembly.
Comment corriger les violations
Pour corriger une violation de cette règle, supprimez le code ne pouvant être appelé ou ajoutez un code qui l'appelle.
Quand supprimer les avertissements
Il est possible de supprimer sans risque un avertissement de cette règle.
Règles connexes
Évitez les classes internes non instanciées
Passez en revue les paramètres inutilisés
Supprimez les variables locales inutilisées
Exemple
Cette règle signale un faux positif si un membre est appelé dans une région if# de préprocesseur.
using System;
namespace SampleNamespace
{
class SampleClass
{
static void Main()
{
}
public void NotifyByEMail(string to)
{
// ...
}
public void AnotherMethod()
{
#if !DEBUG
NotifyByEMail("this.that@someplace.com");
#endif
}
}
}