私はXamarinでかなり新しく、Android/iOS用のアプリを作ろうとしています。私はputExtraでクラスを送信しようとしていますので、ISerializableインターフェイスを追加してSerializableクラスを作成しようとしましたが、そのときにHandle()メソッドとDispose()メソッドを実装する必要があります。私はそれらのメソッドで何をすべきか分からないので、NotImplementedExceptionを持っています。カスタムクラスをシリアル化できません
私が次のアクティビティに行くとき、私はNotImplementedExceptionを取得します(ハンドルまたは破棄の可能性が最も高い)。クラスの実装に何か問題があるかどうかを知りたいです。ここで
は(私は次のアクティビティにオーバー送信しよう)Eventクラスである:
public class Event : Object, ISerializable
{
private long id;
private string name;
private string description;
private double latitude = 0;
private double longitude = 0;
private User author;
private List<User> participants;
private List<EventDate> eventDates;
public Event(long id, string name, string description, double latitude, double longitude, User author, List<User> participants, List<EventDate> eventDates)
{
this.id = id;
this.name = name;
this.description = description;
this.latitude = latitude;
this.longitude = longitude;
this.author = author;
this.participants = participants;
this.eventDates = eventDates;
}
public Event(long id, string name, string description, User author)
{
this.id = id;
this.name = name;
this.description = description;
this.author = author;
this.participants = new List<User>();
this.eventDates = new List<EventDate>();
}
public long Id
{
get { return id; }
}
public string Name
{
get { return name; }
}
public string Description
{
get { return description; }
}
public double Latitude
{
get { return latitude; }
}
public User Author
{
get { return author; }
}
public List<User> Participants
{
get { return participants; }
}
public List<EventDate> EventDates
{
get { return eventDates; }
}
public IntPtr Handle
{
get
{
throw new NotImplementedException();
}
}
public EventDate getBestDate()
{
EventDate bestDate = null;
foreach (EventDate date in eventDates)
{
if (bestDate == null || date.AvailableUsers.Count > bestDate.AvailableUsers.Count)
{
bestDate = date;
}
}
return bestDate;
}
public void addParticipant(User participant)
{
this.participants.Add(participant);
}
public void Dispose()
{
throw new NotImplementedException();
}
}
私も必要なので、このクラスは、(ポータブル)のプロジェクトではなく.DroidプロジェクトでありますそれはiOSで。
誰かが私が間違っていることを教えてもらえますか、あるいは代替案を提案することができますか?
ありがとうございます。
私はすでにJava.IO.Serializableを使用していますが、このように置くのではなく、 'Java.IOを使用しています 'のようにインポートしました。 –
@DennisvanOpstal何かエラーが出ますか? – Ironman
自分のコードを自分のコードに変更しても何も変わりません。私はまだNotImplementedExceptionのために私のアプリケーションをクラッシュさせるHandle()とDispose()メソッドが必要です。 –