Share via


CA1515: Overweeg om openbare typen intern te maken

Eigenschappen Weergegeven als
Regel-id CA1515
Titel Overweeg om openbare typen intern te maken
Categorie Onderhoudbaarheid
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld in .NET 9 Nee

Oorzaak

Een type in een uitvoerbare assembly wordt gedeclareerd als openbaar.

Beschrijving van regel

In tegenstelling tot een klassebibliotheek wordt de API van een toepassing doorgaans niet openbaar genoemd, zodat typen kunnen worden gemarkeerd internal.

Interne typen kunnen op zijn beurt profiteren van verschillende codeanalyses die gericht zijn op niet-openbare API's.

Schendingen oplossen

Markeer het type als internal.

Opmerking

Het volgende codefragment toont een schending van 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

Met het volgende codefragment wordt de schending opgelost:

// 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

Wanneer waarschuwingen onderdrukken

Het is veilig om een schending van deze regel te onderdrukken als u zich geen zorgen maakt over de onderhoudbaarheid van uw code.

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

#pragma warning disable CA1515
// The code that's violating the rule is on this line.
#pragma warning restore CA1515

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none ervan in op het configuratiebestand.

[*.{cs,vb}]
dotnet_diagnostic.CA1515.severity = none

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.