A "System.HashCode.Combine" használata (IDE0070)
Tulajdonság | Érték |
---|---|
Szabályazonosító | IDE0070 |
Cím | A System.HashCode.Combine használata |
Kategória | Stílus |
Alkategória | Nyelvi szabályok (kifejezésszintű beállítások) |
Alkalmazandó nyelvek | C# és Visual Basic |
Áttekintés
Ez a szabály a metódus használatát System.HashCode.Combine javasolja a kivonatkód kiszámításához az egyéni kivonatkód számítási logikája 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ói 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 a 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 a kategória Style
súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
További információ: Kódelemzési figyelmeztetések mellőzése.