Skip to content

Do not [Register] interface alternative classes #802

@jpobst

Description

@jpobst

Context: #798 (comment)

For interfaces that contain static consts or other members that traditionally could not be placed on a C# interface we create an abstract class with an internal constructor that contains the members so users could access them. However, we place a [Register] on them that points to the original interface. This can cause problems when trying to resolve Java -> C# types, as multiple C# types contain the Java reference:

[Register ("android.provider.BaseColumns")] 
public abstract class BaseColumns { ... }

[Register ("android.provider.BaseColumns")] 
public interface IBaseColumns { ... }

We don't think there's any reason to put the [Register] on the abstract class, so hopefully it could be removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementProposed change to current functionalitygeneratorIssues binding a Java library (generator, class-parse, etc.)

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions