-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Refine enum conversion logic in IsEqualStateTrigger #3678
Merged
michael-hawker
merged 9 commits into
CommunityToolkit:master
from
huoyaoyuan:trigger-enum-parse
Mar 8, 2021
Merged
Changes from 8 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
13aadb6
Use Enum.Parse when comparing enum with string.
huoyaoyuan e225318
Refine enum conversion handling.
huoyaoyuan b29958d
Merge branch 'master' into trigger-enum-parse
Kyaa-dost 1a63e8b
Remove the check of Enum.IsDefined.
huoyaoyuan d06e93c
Merge branch 'master' into trigger-enum-parse
huoyaoyuan edc5b7b
Use explicit type checking for Enum.ToObject.
huoyaoyuan a85e699
Upgrade to C# 9.0 and use logical pattern matching.
huoyaoyuan 1fd7bc1
Merge branch 'master' into trigger-enum-parse
Kyaa-dost cc45cd9
Merge branch 'master' into trigger-enum-parse
michael-hawker File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Minor note: now that we no longer have
Enum.IsDefined
, this PR introduces a small behavior change. As in, ifvalue
happens to be a boxed number that is outside of the defined range for the current enum type, this will now still succeed and just return an undefined (boxed) enum value, whereas before this PR it'd returnnull
instead.I mean, this should likely not happen anyway, but just worth pointing it out.
I'm fine with just leaving up to consumers to ensure input raw numeric values are in fact in range.
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.
I think that's fine. As a StateTrigger this should be somethings Devs are working with in a VSM, so it'd be a bit odd to try and use something that wasn't defined?
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.
Yup agreed, just figured I'd point that out to clarify since it's effectively a (small) functional change though 🙂