Skip to content

Conversation

@rhodon-jargon
Copy link

Explicitly implemented interface members were not supported because they contain a dot in the MemberInfo.Name (and ISymbol.Name), which would cause compiler errors because the generated class name would contain a dot. This PR fixes this by replacing a dot with a double underscore (double to prevent ambiguity as namespace dots are already replaced with a single underscore, though I am unsure if this is strictly necessary).

Default interface properties were unsupported because the GetImplementingProperty method looked for a matching accessor in the derived type, while default interface members are only located in the interface type.

This PR fixes the latter issue as well, by searching the declaring type of the found accessor instead of the derived type.

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.

2 participants