ardalis/SmartEnum

Can/should SmartEnum implement the non-generic IComparable interface?

Open

#427 opened on Aug 28, 2023

 (0 comments) (1 reaction) (0 assignees)C# (185 forks)github user discovery
enhancementhelp wanted

Repository metrics

Stars
 (2,420 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Hi. We depend on some framework code that does comparison of objects based on the non-generic IComparable interface. I just stumbled across a CS0029 compilation error when trying to use a SmartEnum derived type. I quickly realized that this is because it doesn't implement the non-generic version of the IComparable interface, only the generic one.

In this particular case, I can modify my SmartEnum-derived type to implement IComparable itself, but that may not always be possible, and obviously isn't desirable from a DRY/code maintenance point of view.

Is there a reason that SmartEnum couldn't or shouldn't also implement the non-generic IComparable interface?

Thanks in advance for any consideration of this idea.

Contributor guide