Notatka
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ł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 |
| Options | dotnet_prefer_system_hash_code |
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
Opcje określają zachowanie, które ma być wymuszane przez regułę. Aby uzyskać informacje na temat konfigurowania opcji, zobacz Format opcji.
dotnet_prefer_system_hash_code
| Własność | Wartość | Opis |
|---|---|---|
| Nazwa opcji | dotnet_prefer_system_hash_code | |
| Wartości opcji | true |
Preferuj użycie System.HashCode.Combine do obliczania kodu skrótu. |
false |
Nie zalecaj używania System.HashCode.Combine do obliczania kodu skrótu. |
|
| Wartość opcji domyślnej | true |
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.