Condividi tramite


CA1515: Valutare la possibilità di rendere interni i tipi pubblici

Proprietà valore
ID regola CA1515
Titolo Prendere in considerazione la possibilità di rendere interni i tipi pubblici
Categoria Gestibilità
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione
Abilitato per impostazione predefinita in .NET 8 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.