0

私は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 属性でマークすることを検討してください。または、型がパブリックであり、パラメーターなしのコンストラクターがあることを確認できます。これにより、型のすべてのパブリック メンバーがシリアル化され、属性は不要になります。

なぜこのエラーが発生するのですか? 誰かがこのエラーを解決するのを手伝ってくれますか?

4

1 に答える 1