我正在开发 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 属性标记您想要序列化的所有成员。或者,您可以确保该类型是公共的并且具有无参数的构造函数 - 然后将序列化该类型的所有公共成员,并且不需要任何属性。
我不明白为什么会出现这个错误?有人可以帮我解决这个错误吗?