UPDATE:
IParcelable, по-видимому, в настоящее время не может быть реализовано в Mono для Android . В конце я использовал сериализацию .NET в классе, а затем разложил / связал сериализованные данные в специфичный для Android код, который работает просто отлично. Он также поддерживает кросс-платформенность класса, что желательно.
ОРИГИНАЛЬНЫЙ ВОПРОС:
Я пытаюсь реализовать Parcelable как часть класса в приложении Mono для Android, но документация Xamarin для Parcelable скопирована из документации Android:
http://androidapi.xamarin.com/?link=T%3aAndroid.OS.IParcelable
public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
Поскольку эта документация написана для Java, она в принципе не подходит для C #. Мне просто интересно, если кто-нибудь знает, как преобразовать этот код в C #. Особенно у меня проблемы с полем CREATOR.
Кроме того, поскольку я пытаюсь написать код, который позже смог бы перенести на другие платформы, каков наилучший способ реализации Parcelable? Должен ли я сделать это частью класса, используя частичные классы?