Udostępnij za pośrednictwem


Konwertowanie typeof na nameof (IDE0082)

Własność Wartość
identyfikator reguły IDE0082
Tytuł Konwertowanie typeof na nameof
Kategoria Styl
Podkategoria Reguły języka (preferencje na poziomie wyrażenia)
odpowiednie języki C# i Visual Basic

Przegląd

Ta reguła stylu zaleca użycie operatora nameof zamiast operatora typeof z następującym Name dostępem do składowych. Jest uruchamiana tylko wtedy, gdy nazwa będzie identyczna w obu przypadkach.

Opcje

Ta reguła nie ma skojarzonych opcji stylu kodu.

Przykład

// Code with violations
var n1 = typeof(T).Name;
var n2 = typeof(int).Name;

// Fixed code
var n1 = nameof(T);
var n2 = nameof(Int32);
' Code with violations
Dim n1 = GetType(T).Name
Dim n2 = GetType(Integer).Name

' Fixed code
Dim n1 = NameOf(T)
Dim n2 = NameOf(Int32)

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .

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

Aby wyłączyć wszystkie reguły stylu kodu, ustaw poziom ważności kategorii Style na none w pliku konfiguracyjnym .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.

Zobacz też