私は次のようなタイプをシリアル化しようとしています:
public UsersPanel(UsersVM userVm)
{
var serialized = Serialize(userVm);
}
public static string Serialize(ViewModelBase instance)
{
var formatter = new BinaryFormatter();
using (var stream = new MemoryStream())
{
formatter.Serialize(stream, instance); // breaks here
return Convert.ToBase64String(stream.ToArray());
}
}
UsersVM
として定義されている場所
public class UsersVm : ViewModelBase {}
とViewModelBase
定義されています
[Serializable]
public class ViewModelBase {}
これにより、次のエラーが発生します。
タイプ「UsersVM」はシリアル化可能としてマークされていません。
オブジェクトをに渡して( SerializableとしてマークされているuserVm
)オブジェクトをキャストした場合、なぜこれを通知するのですか?ViewModelBase
Serialize(ViewModelBase instance)
をとるメソッドに渡すときに、受け渡しUsersVM
が基本型に置き換えられると思いました。ViewModelBase
ViewModelBase
ViewModelBaseをシリアル化するにはどうすればよいですか?