您好我在VS2013上运行Xamarin的示例代码。它必须处理Java绑定。我在构建时遇到了三个错误,而且它们都是关于不一致的可访问性。
可访问性不一致:基类'Org.Osmdroid.Tileprovider.Modules.MapTileModuleProviderBase.TileLoader'不如类'Org.Osmdroid.Tileprovider.Modules.MapTileDownloader.TileLoader'
除了最后一行是另一个类之外,其他错误是相同的。
提前致谢!
答案 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
可能是内部的或公开的。