Open
Description
openedon Nov 1, 2019
Analyzer package
Microsoft.CodeAnalysis.FxCopAnalyzers
Package Version
v2.9.2
Diagnostic ID
CA1065
Repro steps
public class SomeEqualityComparer : IEqualityComparer<string>
{
public bool Equals(string x, string y)
{
return true;
}
public int GetHashCode(string obj)
{
if (obj == null)
{
// This raises CA1065!
throw new ArgumentNullException(nameof(obj));
}
return 0;
}
}
Expected behavior
No CA violation raised.
The documented expectation for IEqualityComparer<T>.GetHashCode
is to throw null when given a null object. See: https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iequalitycomparer-1.gethashcode?redirectedfrom=MSDN&view=netframework-4.8#exceptions
Actual behavior
CA1065 is raised.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment