我对Android开发相对较新,而且我目前正在开发一个应用程序,它需要一个可缩放的可缩放和可平移的图像,其上会覆盖其他图像,类似于MapView但不使用Google Maps API.
我做了一些寻找,发现我可以通过这个问题中的方法完成覆盖部分:在android中相互绘制图像
但是,我不知道是否能够进行捏缩放和/或平移大图像的能力.是否值得创建一个GLSurfaceView并只是实现所需的功能,或者是否有点过分,因为我要重新发明轮子?
对于它的价值,大型地图图像本身将从服务器获取(但如果需要,它可以分成较小的方形区域),并且将覆盖在地图上不同位置的图标将嵌入到应用程序本身.
如果我有两个班:
public class A { }
public class B : A { }
Run Code Online (Sandbox Code Playgroud)
我创建了一个通用容器和一个接受它的函数:
public void Foo(List<A> lst) { ... }
Run Code Online (Sandbox Code Playgroud)
如果我尝试将a转换List<B>
为a List<A>
,则会得到无效的转换,而不是像这样传递它:
var derivedList = new List<B>();
Foo(new List<A>(derivedList));
Run Code Online (Sandbox Code Playgroud)
有没有办法将a传递List<B>
给这个函数而没有分配全新列表的开销,或者C#不支持从派生类型的通用容器转换到它的基类型?