Skip to content

Document System.Runtime.AmbiguousImplementationException #2796

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

Merged

Conversation

carlossanlop
Copy link
Contributor

Here's the original proposal for the exception: https://github.com/dotnet/corefx/issues/34124

Here's the PR that introduced it: dotnet/coreclr#22280

Adding @MichalStrehovsky who proposed the API and @jkotas who approved it.

@carlossanlop carlossanlop added new-content Indicates PRs that contain new articles waiting-on-reviews Indicates PRs that cannot be merged because of the lack of reviews 🏁 Release: .NET Core 3.0 :checkered_flag: Release: .NET Core 3.0 labels Jul 22, 2019
@carlossanlop carlossanlop self-assigned this Jul 22, 2019
@carlossanlop
Copy link
Contributor Author

CC @joperezr and @bartonjs, who are marked as owners of System.Runtime, but I can see this area is huge. 😃

@MichalStrehovsky
Copy link
Member

Do we want to add a remarks section? Something along the lines of:

Normally a compilation error is generated if there are multiple incompatible interface methods implementing another interface method. AmbiguousImplementationException is thrown when a type in a dependent assembly implements an interface from an assembly that was modified.

To resolve the error, a most specific implementation of the interface method has to be provided. Most specific implementation of the interface method can be provided on the class that implements the interface, or on another interface that requires the interface providing the conflicting implementation.

AmbiguousImplementationException uses the HRESULT COR_E_AMBIGUOUSIMPLEMENTATION, that has the value 0x8013106A.

(Took the inspiration from MissingMethodException.)

Co-Authored-By: Jeremy Barton <[email protected]>
@carlossanlop
Copy link
Contributor Author

@MichalStrehovsky I'd be glad to add your remark message. Do you want me to add it to the general <remarks> element, or to a specific constructor?

Copy link

@rpetrusha rpetrusha left a comment

Choose a reason for hiding this comment

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

Thanks for documenting this exception type, @carlossanlop. I've left a comment and a couple of suggestions.

@rpetrusha rpetrusha removed the waiting-on-reviews Indicates PRs that cannot be merged because of the lack of reviews label Jul 23, 2019
@rpetrusha rpetrusha added this to the July 2019 milestone Jul 23, 2019
Co-Authored-By: Ron Petrusha <[email protected]>
@carlossanlop
Copy link
Contributor Author

@rpetrusha comments addressed, build passed. Is it good to merge?

@carlossanlop carlossanlop requested a review from rpetrusha July 24, 2019 00:25
@carlossanlop carlossanlop added the changes-addressed Indicates PRs that had all comments addressed and are awaiting for new review label Jul 24, 2019
@rpetrusha
Copy link

Yes, it's good to merge, @carlossanlop. I'll do that now.

@rpetrusha rpetrusha merged commit d024b04 into dotnet:master Jul 24, 2019
@carlossanlop carlossanlop deleted the AmbiguousImplementationException branch July 24, 2019 17:56
@mairaw mairaw removed the changes-addressed Indicates PRs that had all comments addressed and are awaiting for new review label Jul 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏁 Release: .NET Core 3.0 :checkered_flag: Release: .NET Core 3.0 new-content Indicates PRs that contain new articles
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants