49 lines
1.3 KiB
Plaintext
49 lines
1.3 KiB
Plaintext
include::../description.adoc[]
|
|
|
|
== Noncompliant Code Example
|
|
|
|
[source,csharp]
|
|
----
|
|
public struct Coordinates
|
|
{
|
|
public int X { get; }
|
|
public int Y { get; }
|
|
|
|
[ExcludeFromCodeCoverage] // Noncompliant
|
|
public override bool Equals(object obj) => obj is Coordinates coordinates && X == coordinates.X && Y == coordinates.Y;
|
|
|
|
[ExcludeFromCodeCoverage] // Noncompliant
|
|
public override int GetHashCode()
|
|
{
|
|
var hashCode = 1861411795;
|
|
hashCode = hashCode * -1521134295 + X.GetHashCode();
|
|
hashCode = hashCode * -1521134295 + Y.GetHashCode();
|
|
return hashCode;
|
|
}
|
|
}
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
[source,csharp]
|
|
----
|
|
public struct Coordinates
|
|
{
|
|
public int X { get; }
|
|
public int Y { get; }
|
|
|
|
[ExcludeFromCodeCoverage(Justification = "Code generated by Visual Studio refactoring")] // Compliant
|
|
public override bool Equals(object obj) => obj is Coordinates coordinates && X == coordinates.X && Y == coordinates.Y;
|
|
|
|
[ExcludeFromCodeCoverage(Justification = "Code generated by Visual Studio refactoring")] // Compliant
|
|
public override int GetHashCode()
|
|
{
|
|
var hashCode = 1861411795;
|
|
hashCode = hashCode * -1521134295 + X.GetHashCode();
|
|
hashCode = hashCode * -1521134295 + Y.GetHashCode();
|
|
return hashCode;
|
|
}
|
|
}
|
|
----
|
|
|
|
include::../see.adoc[] |