Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Proprietà | valore |
---|---|
ID regola | CA1515 |
Titolo | 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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
Friend Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
Per altre informazioni sul tipo di output di un progetto, vedere la sezione "Tipo di output" di Progettazione progetti .NET.
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.
Configurare il codice da analizzare
È possibile configurare i tipi di assembly di output a cui applicare questa regola. Ad esempio, per applicare questa regola solo al codice che produce un'applicazione console o una libreria collegata dinamicamente (ovvero, non un'app dell'interfaccia utente), aggiungere la coppia chiave-valore seguente a un file con estensione editorconfig nel progetto:
dotnet_code_quality.CA1515.output_kind = ConsoleApplication, DynamicallyLinkedLibrary
Per altre informazioni, vedere output_kind.