Generator.Equals
Generator.Equals copied to clipboard
Feature request: Support CustomEqualityAttribute for the whole class
This is to be able to setup the default comparer for all properties at once.
Could you elaborate on how you imagine this working? Code examples are helpful too!
If you mean implementation-wise then I will be of not much help, I haven't had a good look at implementing source generators yet.
If you mean usage-wise, instead of
[Equatable]
public record MyRecord(
[propery: CustomEquality(typeof(MyEqualityComparer)] object property1,
[propery: CustomEquality(typeof(MyEqualityComparer)] object property2,
[propery: CustomEquality(typeof(MyEqualityComparer)] object property3);
You would write:
[Equatable]
[CustomEquality(typeof(MyEqualityComparer))]
public record MyRecord(object property1, object property2, object property3);
or
[Equatable]
[DefaultComparer(typeof(MyEqualityComparer))]
public record MyRecord(object property1, object property2, object property3);