-
Notifications
You must be signed in to change notification settings - Fork 41
Implement IEquatable
for StringEnum
#739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
👋 Hi! Thank you for this contribution! Just to let you know, our GitHub SDK team does a round of issue and PR reviews twice a week, every Monday and Friday! We have a process in place for prioritizing and responding to your input. Because you are a part of this community please feel free to comment, add to, or pick up any issues/PRs that are labeled with |
- case insensitivity - `ToString()` implementation - override `==` and `!=` operators
8a4964e
to
593146a
Compare
} | ||
|
||
public override string ToString() => this.StringValue; | ||
|
||
private static ArgumentException GetArgumentException(string? value) => new(string.Format( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be turned into a throw helper with a DoesNotReturn attribute
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I'm not quite sure what you mean here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something like #742
Looking at if (!Enum.IsDefined(typeof(TEnum), parsedValue))
{
ThrowArgumentException(parsedValue.ToString());
}
this.StringValue = ToEnumString(parsedValue); which already covers the enum ranges possible, and if the
Sorry these are only superficial reviews and the sort of come in piece by piece because I have limited time available. |
Resolves #738
Before the change?
After the change?
Pull request checklist
Does this introduce a breaking change?
Please see our docs on breaking changes to help!