Skip to content
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

Fix linq casts #524

Merged
merged 1 commit into from
Oct 19, 2020
Merged

Fix linq casts #524

merged 1 commit into from
Oct 19, 2020

Conversation

manodasanW
Copy link
Member

@manodasanW manodasanW commented Oct 19, 2020

  • Fixing scenario where IEnumerable is not supported by native object but generic IEnumerable is
  • Making use of a helper type which knows the appropriate GetEnumerator to redirect to based on which child type implements IEnumerable
  • Fixing issue where AdditionalData dictionary was initialized each time with a new one
  • The results of GetInterfaceImplementation is cached and used for other objects. So instead of handling the logic to choose the right implementation there, implemented 2 helper types for the ones handled there and moved the logic to detect which type it is in the helper class itself which then redirects to the other types FromABIHelper.

Fixes #482

Copy link
Member

@Scottj1s Scottj1s left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@manodasanW
Copy link
Member Author

@jkoritzinsky , I am going to merge this PR to get in a build, but feel free to leave any comments if you see any issues and I will look at addressing them in another PR.

@manodasanW manodasanW merged commit 6d83992 into master Oct 19, 2020
@manodasanW manodasanW deleted the manodasanw/linqcast branch October 19, 2020 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

XCG startup code throwing an exception on Linq Cast(), with IDynamicInterfaceCastable support
3 participants