Xamarin android中的Classname.class.getClassLoader等价物

时间:2014-01-03 08:16:50

标签: c# android xamarin.android

我正在使用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());
    }

知道如何实现这一目标吗?

3 个答案:

答案 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