Megosztás a következőn keresztül:


Használja a 'System.HashCode.Combine' (IDE0070) függvényt.

Ingatlan Érték
szabályazonosító IDE0070
Cím System.HashCode.Combine használj
kategória Stílus
Alkategória Nyelvi szabályok (kifejezésszintű beállítások)
Alkalmazható nyelvek C# és Visual Basic

Áttekintés

Ez a szabály a System.HashCode.Combine metódus használatát javasolja kivonatkód kiszámításához egyéni kivonatkód számítási logika helyett.

Beállítások

Ez a szabály nem rendelkezik társított kódstílus-beállításokkal.

Példa

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);
    }
}

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

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

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

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

Az összes kódstílus-szabály letiltásához, állítsa be a Style kategória súlyosságát none-re a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések letiltása.

Lásd még: