Accessibility基类错误不一致

时间:2014-01-30 22:26:11

标签: c# java android visual-studio xamarin

您好我在VS2013上运行Xamarin的示例代码。它必须处理Java绑定。我在构建时遇到了三个错误,而且它们都是关于不一致的可访问性。

可访问性不一致:基类'Org.Osmdroid.Tileprovider.Modules.MapTileModuleProviderBase.TileLoader'不如类'Org.Osmdroid.Tileprovider.Modules.MapTileDownloader.TileLoader'

除了最后一行是另一个类之外,其他错误是相同的。

提前致谢!

2 个答案:

答案 0 :(得分:4)

您需要修改绑定库上的Metadata.xml。如果这样可以解决第一个问题:

<attr path="/api/package[@name='org.osmdroid.tileprovider.modules']/class[@name='MapTileModuleProviderBase.TileLoader']" name="visibility">public</attr>

答案 1 :(得分:2)

辅助功能只能收紧而不能松动,因此从继承层次结构的顶部到底部只允许这些更改:

  

公开 - &gt;保护

     

受保护 - &gt;私人

显然,class不能是private。但是还有internal访问修饰符,它从程序集的清单中删除了类的定义,从而为消费者提供了更清晰的API。

要解决问题,您必须分配给班级

Org.Osmdroid.Tileprovider.Modules.MapTileDownloader.TileLoader            (say D)

AT LEAST 的访问修饰符与

的访问修饰符一样紧
Org.Osmdroid.Tileprovider.Modules.MapTileModuleProviderBase.TileLoader    (say P)

如果P是内部的,D也必须是内部的。 如果P是公开的,D可能是内部的或公开的。