Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
| Propriété | Valeur |
|---|---|
| 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 10 | Non |
La 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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
Friend Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
(Pour plus d’informations sur le type de sortie d’un projet, consultez la section « Type de sortie » du Concepteur de projets .NET.)
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.
Configurer le code à analyser
Vous pouvez configurer les types d’assemblys de sortie auxquels appliquer cette règle. Par exemple, pour appliquer cette règle uniquement au code qui produit une application console ou une bibliothèque liée dynamiquement (autrement dit, pas une application d’interface utilisateur), ajoutez la paire clé-valeur suivante à un fichier .editorconfig dans votre projet :
dotnet_code_quality.CA1515.output_kind = ConsoleApplication, DynamicallyLinkedLibrary
Pour plus d’informations, consultez output_kind.