我正在使用Xamarin.android创建一个地图应用程序。
我正在尝试从Parcel(IParceable)
初始化一个类对象。
我有以下代码,我需要知道C#的等价物: -
private Place(Parcel in){
this.mLat = in.readString();
this.mLng = in.readString();
this.mPlaceName = in.readString();
this.mVicinity = in.readString();
this.mPhotos = (Photo[])in.readParcelableArray(Photo.class.getClassLoader());
}
知道如何实现这一目标吗?
答案 0 :(得分:0)
我想那会是:
var loader = context.ClassLoader;
var photoClass = loader.LoadClass("Your.Namespace.Photo");
this.mPhotos = (Photo[])in.readParcelableArray(photoClass);
但说实话,我以前从未使用Parcel
。
答案 1 :(得分:0)
这会有用吗?
var photos = i.ReadParcelableArray(new Photo().Class.ClassLoader).Cast<Photo>();
答案 2 :(得分:0)
Xamarin相当于ClassName.class.getClassLoader()
是Java.Lang.Class.FromType(typeof(ClassName)).ClassLoader