You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We can rewrite Matches and IsExactly in terms of GetElementPairs(), or even IReadOnlyDictionary. This could be done as in-place replacements for the current methods (who then don't need to be virtual anymore), but we could also turn them into a ExactEqualityComparer<T> and PatternEqualityComparer<T> to align with the normal .NET strategy of implementing System.Collections.Generic.EqualityComparer<Base> for these kind of purposes.
Again, as a guide to the user, we can leave the old methods in, throw not implemented and add an Obsolete with a message to indicate you should use the comparers.
The text was updated successfully, but these errors were encountered:
Since using GetElementPairs() is slower than the current generated approach, it's also possible to use a SourceGenerator to generate these comparers, so the users does not have to hand-write them. Maybe a nice follow up project ;-)
We can rewrite Matches and IsExactly in terms of GetElementPairs(), or even IReadOnlyDictionary. This could be done as in-place replacements for the current methods (who then don't need to be virtual anymore), but we could also turn them into a
ExactEqualityComparer<T>
andPatternEqualityComparer<T>
to align with the normal .NET strategy of implementingSystem.Collections.Generic.EqualityComparer<Base>
for these kind of purposes.Again, as a guide to the user, we can leave the old methods in, throw not implemented and add an Obsolete with a message to indicate you should use the comparers.
The text was updated successfully, but these errors were encountered: