Используйте System.HashCode.Combine (IDE0070)
Свойство | Ценность |
---|---|
идентификатор правила | IDE0070 |
Заголовок | Используйте System.HashCode.Combine |
категория | Стиль |
подкатегории | Языковые правила (предпочтения уровня выражений) |
применимые языки | C# и Visual Basic |
Обзор
Это правило рекомендует использовать метод System.HashCode.Combine для вычисления хэш-кода вместо использования пользовательской логики вычисления хэш-кода.
Параметры
Это правило не имеет связанных параметров стиля кода.
Пример
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);
}
}
Подавление предупреждения
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable IDE0070
// The code that's violating the rule is on this line.
#pragma warning restore IDE0070
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none
в файле конфигурации .
[*.{cs,vb}]
dotnet_diagnostic.IDE0070.severity = none
Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style
, чтобы none
в файле конфигурации .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- Правила стиля языка программирования
- справочник по правилам стиля кода