Udostępnij za pośrednictwem


Użyj metody 'System.HashCode.Combine' (IDE0070)

Własność Wartość
identyfikator reguły IDE0070
Tytuł Korzystanie z System.HashCode.Combine
Kategoria Styl
podkategorii Reguły języka (preferencje na poziomie wyrażenia)
języki stosowane C# i Visual Basic

Przegląd

Ta reguła zaleca użycie metody System.HashCode.Combine do obliczenia kodu skrótu zamiast używania niestandardowej logiki obliczeniowej kodu skrótu.

Opcje

Ta reguła nie ma skojarzonych opcji stylu kodu.

Przykład

class B
{
    public override int GetHashCode() => 0;
}

class C : B
{
    int j;

    // Code with violations
    public override int GetHashCode()
    {
        // IDE0070: GetHashCode can be simplified.
        var hashCode = 339610899;
        hashCode = hashCode * -1521134295 + base.GetHashCode();
        hashCode = hashCode * -1521134295 + j.GetHashCode();
        return hashCode;
    }

    // Fixed code
    public override int GetHashCode()
    {
        return System.HashCode.Combine(base.GetHashCode(), j);
    }
}

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 IDE0070
// The code that's violating the rule is on this line.
#pragma warning restore IDE0070

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

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

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

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

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

Zobacz też