当前位置: 首页 > 知识库问答 >
问题:

未生成Java绑定抽象类

百里嘉泽
2023-03-14

错误CS0234:类型或命名空间名称IBitmap“在命名空间com.sushi.hangover”中不存在。是否缺少程序集引用?

我有一个Android绑定项目,它有从多个接口继承的类,但这些接口没有生成,因此依赖于它们的所有公共类都无法绑定。

abstract interface Bitmap
{
   ~~~ (methods removed)
}
<interface abstract="true" deprecated="not deprecated" final="false" name="Bitmap" static="false" visibility="">

如您所见,该接口的可见性没有设置为public,因此不会生成C#代码,但是begin生成了依赖于该接口的公共类:

public partial class DrawableDesign : global::Com.Sushi.Hangover.IBitmap {

绑定在将接口名称从bitmap转换为ibitmap时,可以识别接口。

是否有任何方法可以强制创建这些接口,而不返回Java代码并将这些接口更改为public以将它们作为visibility=“public”放入api.xml

注意:我使用稳定通道(Xamarin.Android版本:6.0.3.5),因为此客户端没有alpha/beta访问权限

共有1个答案

傅明知
2023-03-14

我写了一个关于这个主题的小指南,在某些方面可能会有所帮助:https://gist.github.com/jondouglas/dda6d8ace7d071b0e8cb

简而言之,您可以尝试像@cheesebaron已经提到的那样更改可见性:https://gist.github.com/jondouglas/dda6d8ace7d071b0e8cb#class-visibility(用interface替换/class或读取公共路径)

否则,可以尝试从头开始添加节点:https://gist.github.com/jondouglas/dda6d8ace7d071b0e8cb#adding-types

为了得到更确切的答案,我认为我们需要查看各自的。jar/.aar和当前的绑定项目。

 类似资料:
  • 是否有任何JAXB绑定可以告诉JAXB代码生成器将Java类生成为,而不必在XSD中将相应的XML类型标记为? 情况如下: > 我在xsd中定义架构: 我使用内联JAXB绑定(“inline”==“直接在模式中”)来指示应该生成JAXB类的包(): 我使用内联JAXB绑定为我的每个复杂类型(在本例中、和)指示实现类的名称: 我从模式生成JAXB类。这导致: 我自己编写类: 使用这两个类层次结构这样

  • 我正在项目中使用数据绑定,但在xml绑定类中使用和时未生成。 例如,我有activity_main.xml Android Studio:2.1.3 类路径:com.Android.tools.build:Gradle:2.1.3 minSdkVersion 16 targetSdkVersion 24 buildToolsVersion 24.0.0

  • 我正试图绑定完整的Mapbox导航UI SDK 0.42--由于它是一个多JAR/AAR项目,因此存在多个问题,如下所示:https://github.com/jacquesokes/mapbox-navigationapp-xamarin 我已经经历了大部分的错误,但在最后,当我想把最后的项目实现到一个Xamarin.android项目中时,我在android中发现了4个接口不存在的错误。 因此

  • 我想在我即将完成的一些工作中使用builder模式,它在一个层次结构中有几个类。基类将至少有9个字段要启动,各个子类可能会添加2-4个字段。这会很快失控,而builder模式正是出于这个原因吸引了我。我在书籍和文章中初步接触了builder模式。他们是有帮助的,但没有关于如何扩展这种模式。我试图自己实现这一点,但是我在每个子类的构造函数中遇到了麻烦,因为我不知道如何将构建器中收集的数据传递给超级类

  • 问题是: 我有一个叫做Schema的基类,它是抽象的,它是一个未生成的类。我有两个从Schema继承生成的JAXB类:FixedWidthSchema和DelimitedSchema。 我使用外部绑定(xjb)文件来指定XSD和Java类之间的映射。 在基类模式中,我定义了几个方法: 公共架构静态创建(Model m),它从提供的模型创建架构。 公共抽象Writer marshal(),它将当前架

  • Java 语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。这一节介绍一下抽象类。 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类称为 抽象类。 在 Java 中抽象类的语法格式如下: 其中,abstract 表示该类或该方法是抽象的;class_name 表示抽象类