-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathConnectionSettingsComparer.cs
More file actions
43 lines (36 loc) · 1009 Bytes
/
ConnectionSettingsComparer.cs
File metadata and controls
43 lines (36 loc) · 1009 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using Ev.ServiceBus.Abstractions;
namespace Ev.ServiceBus.HealthChecks;
internal class ConnectionSettingsComparer : IEqualityComparer<ConnectionSettings?>
{
public bool Equals(ConnectionSettings? x, ConnectionSettings? y)
{
if (ReferenceEquals(x, y))
{
return true;
}
if (ReferenceEquals(x, null))
{
return false;
}
if (ReferenceEquals(y, null))
{
return false;
}
if (x.GetType() != y.GetType())
{
return false;
}
return x.ConnectionString == y.ConnectionString
&& x.FullyQualifiedNamespace == y.FullyQualifiedNamespace
&& x.Credentials == y.Credentials;
}
public int GetHashCode(ConnectionSettings? obj)
{
return HashCode.Combine(
obj?.ConnectionString,
obj?.FullyQualifiedNamespace,
obj?.Credentials);
}
}