CA1515 : envisager de rendre les types publics internes
Propriété | Value |
---|---|
Identificateur de la règle | CA1515 |
Titre | Envisager de rendre les types publics internes |
Catégorie | Maintenabilité |
Le correctif est cassant ou non cassant | Sans rupture |
Activé par défaut dans .NET 8 | Non |
Cause
Un type au sein d’un assembly exécutable est déclaré comme étant public.
Description de la règle
Contrairement à une bibliothèque de classes, l’API d’une application n’est généralement pas référencée de manière publique afin que les types soient marqués internal
.
Les types internes, à leur tour, peuvent tirer parti de divers analyseurs de code qui ciblent des API non publiques.
Comment corriger les violations
Marquez le type en tant que internal
.
Exemple
L’extrait de code suivant illustre une violation de CA1515 :
// Inside a project with <OutputKind>Exe</OutputKind>
public class Program
{
public static void Main(string[] args)
{
}
}
Public Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
L’extrait de code suivant corrige la violation :
// Inside a project with <OutputKind>Exe</OutputKind>
internal class Program
{
public static void Main(string[] args)
{
}
}
Friend Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
Quand supprimer les avertissements
Il est sûr de supprimer une violation de cette règle si vous n’êtes pas préoccupé par la maintenance de votre code.
Supprimer un avertissement
Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.
#pragma warning disable CA1515
// The code that's violating the rule is on this line.
#pragma warning restore CA1515
Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_diagnostic.CA1515.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.