CA1515: Valutare la possibilità di rendere interni i tipi pubblici
Proprietà | valore |
---|---|
ID regola | CA1515 |
Title | Prendere in considerazione la possibilità di rendere interni i tipi pubblici |
Categoria | Manutenibilità |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitato per impostazione predefinita in .NET 9 | No |
Causa
Un tipo all'interno di un assembly eseguibile viene dichiarato come pubblico.
Descrizione regola
A differenza di una libreria di classi, l'API di un'applicazione non viene in genere fatto riferimento pubblicamente, quindi i tipi possono essere contrassegnati come internal
.
I tipi interni, a loro volta, possono trarre vantaggio da vari analizzatori di codice destinati a API non pubbliche.
Come correggere le violazioni
Contrassegnare il tipo come internal
.
Esempio
Il frammento di codice seguente mostra una violazione di 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
Il frammento di codice seguente corregge la violazione:
// 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
Quando eliminare gli avvisi
È possibile eliminare una violazione di questa regola se non si è preoccupati per la manutenibilità del codice.
Eliminare un avviso
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable CA1515
// The code that's violating the rule is on this line.
#pragma warning restore CA1515
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none
su nel file di configurazione.
[*.{cs,vb}]
dotnet_diagnostic.CA1515.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.