When the MethodReference property was added to ImplementationClass.Key, the key was changed to use the method reference for hashing and equality. This produces incorrect results because the MethodReference type includes its Location in equality and hashing operations.
Proposed solution
The ImplementationClass.Key should be rewritten to consider the other properties of the MethodReference which are relevant, but discard the Location property.
Describe the issue
When the
MethodReference
property was added toImplementationClass.Key
, the key was changed to use the method reference for hashing and equality. This produces incorrect results because theMethodReference
type includes itsLocation
in equality and hashing operations.Proposed solution
The
ImplementationClass.Key
should be rewritten to consider the other properties of theMethodReference
which are relevant, but discard theLocation
property.Additional considerations
None.