我正在从 AAR 库创建绑定库,以便生成可以在 Xamarin.Android 项目中使用的 dll。
我有一个问题,因为 Java 授权的语法在 C# 中没有得到授权
您将如何用 C# 编写此 Java 代码?
public interface IParent{
}
public interface IChild extends IParent{
}
public interface IGetter{
IParent getAttribute();
}
public class MyClass implements IGetter{
public IChild getAttribute() {
return null;
}
}
生成的自动绑定文件给了我这个结果之王,未授权
public interface IParent
{
}
public interface IChild : IParent
{
}
public interface IGetter
{
IParent Attribute { get; }
}
public class MyClass : IGetter
{
public IChild Attribute { get; } //Not allowed but is the exact Java equivalent
//public IParent Attribute { get; } //Allowed but not the exact Java equivalent
}
我收到以下错误:
'MyClass' does not implement interface member 'IGetter.Attribute'. 'MyClass.Attribute' cannot implement 'IGetter.Attribute' because it does not have the matching return type of 'IParent'.
我正在考虑创建一个完整的类来在 IChild 和 IParent 之间架起一座桥梁,但它必须是另一个更合适的解决方案......