/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v5.0.18
src/Npgsql/NpgsqlDatabaseInfoCacheKey.cs
35 строк
1 KB
Yoh Deadfall
Made database info cache key struct
15 ноя 2020, 20:03
Не верифицирован
15 ноя 2020, 20:03
58ee69f
Код
Авторство
О чём код?
using System; namespace Npgsql { readonly struct NpgsqlDatabaseInfoCacheKey : IEquatable<NpgsqlDatabaseInfoCacheKey> { public readonly int Port; public readonly string? Host; public readonly string? Database; public readonly ServerCompatibilityMode CompatibilityMode; public NpgsqlDatabaseInfoCacheKey(NpgsqlConnectionStringBuilder connectionString) { Port = connectionString.Port; Host = connectionString.Host; Database = connectionString.Database; CompatibilityMode = connectionString.ServerCompatibilityMode; } public bool Equals(NpgsqlDatabaseInfoCacheKey other) => Port == other.Port && Host == other.Host && Database == other.Database && CompatibilityMode == other.CompatibilityMode; public override bool Equals(object? obj) => obj is NpgsqlDatabaseInfoCacheKey key && key.Equals(this); public override int GetHashCode() => Port.GetHashCode() ^ Host?.GetHashCode() ?? 0 ^ Database?.GetHashCode() ?? 0 ^ CompatibilityMode.GetHashCode(); } }