私はWindows Phoneアプリを開発しています。ユーザーはログインする必要があります。Windows Phone アプリでログインに成功した後、現在のユーザー セッションを保存しようとしています。
IsolatedStorageSettings.ApplicationSettings
現在のユーザー セッションを保存するために使用しています。
ここにコードがあります
LoginDO objLoginDO = default(LoginDO);
if (dtbUserDetails != null)
{
objLoginDO = new LoginDO(dtbUserDetails.UserID,
dtbUserDetails.FirstName,
dtbUserDetails.LastName,
dtbUserDetails.UserName,
dtbUserDetails.DisplayName,
Convert.ToDateTime("01/01/2010"),
"","", Convert.ToDateTime(DateTime.Now),
dtbUserDetails.MobileNumber,
dtbUserDetails.Location);
UserControlBaseClass u = new UserControlBaseClass();
//PhoneApplicationService.Current.State[u.LOGIN_DO] = objLoginDO;
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
settings[u.LOGIN_DO] = objLoginDO;
settings.Save();
}
ここで、コンパイラが到達するとエラーが発生しますsettings.Save()
エラー
タイプ 'Demo.Classes.LoginDO' をシリアル化できません。これを DataContractAttribute 属性でマークし、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークすることを検討してください。または、型がパブリックであり、パラメーターなしのコンストラクターがあることを確認できます。これにより、型のすべてのパブリック メンバーがシリアル化され、属性は不要になります。
なぜこのエラーが発生するのですか? 誰かがこのエラーを解決するのを手伝ってくれますか?