Share via


CA1515: Överväg att göra offentliga typer interna

Property Värde
Regel-ID CA1515
Title Överväg att göra offentliga typer interna
Kategori Underhåll
Korrigeringen är icke-bakåtkompatibel Icke-icke-bryta
Aktiverad som standard i .NET 8 Nej

Orsak

En typ i en körbar sammansättning deklareras som offentlig.

Regelbeskrivning

Till skillnad från ett klassbibliotek refereras normalt inte ett programs API offentligt, så typer kan markeras internal.

Interna typer kan i sin tur dra nytta av olika kodanalysverktyg som riktar in sig på icke-offentliga API:er.

Så här åtgärdar du överträdelser

Markera typen som internal.

Exempel

Följande kodfragment visar ett brott mot 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

Följande kodfragment åtgärdar överträdelsen:

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

När du ska ignorera varningar

Det är säkert att förhindra en överträdelse av den här regeln om du inte bryr dig om kodens underhållbarhet.

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.

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

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Mer information finns i Så här utelämnar du kodanalysvarningar.