Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Właściwości | Wartość |
---|---|
Identyfikator reguły | CA1515 |
Tytuł | Rozważ wprowadzenie typów publicznych wewnętrznych |
Kategoria | Łatwość konserwacji |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone na platformie .NET 9 | Nie. |
Przyczyna
Typ wewnątrz zestawu wykonywalnego jest zadeklarowany jako publiczny.
Opis reguły
W przeciwieństwie do biblioteki klas interfejs API aplikacji nie jest zwykle publicznie przywołyny, więc typy można oznaczyć jako internal
.
Z kolei typy wewnętrzne mogą korzystać z różnych analizatorów kodu przeznaczonych dla interfejsów API innych niż publiczne.
Jak naprawić naruszenia
Oznacz typ jako internal
.
Przykład
Poniższy fragment kodu przedstawia naruszenie 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
Poniższy fragment kodu naprawia naruszenie:
// 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
(Aby uzyskać więcej informacji na temat typu danych wyjściowych projektu, zobacz sekcję "Typ danych wyjściowych" programu .NET Project Designer).
Kiedy pomijać ostrzeżenia
Można bezpiecznie pominąć naruszenie tej reguły, jeśli nie martwisz się o konserwację kodu.
Pomijanie ostrzeżenia
Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable CA1515
// The code that's violating the rule is on this line.
#pragma warning restore CA1515
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji.
[*.{cs,vb}]
dotnet_diagnostic.CA1515.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.
Konfigurowanie kodu do analizowania
Można skonfigurować typy zestawów wyjściowych , do których ma być stosowana ta reguła. Aby na przykład zastosować tę regułę tylko do kodu tworzącego aplikację konsolową lub dynamicznie połączoną bibliotekę (czyli nie aplikację interfejsu użytkownika), dodaj następującą parę klucz-wartość do pliku editorconfig w projekcie:
dotnet_code_quality.CA1515.output_kind = ConsoleApplication, DynamicallyLinkedLibrary
Aby uzyskać więcej informacji, zobacz output_kind.