持久保存具有私有辅助功能的数据成员

时间:2012-02-02 13:12:22

标签: .net windows-phone-7 datacontract isolatedstorage securityexception

我正在Windows Phone 7中开发一个应用程序。我想保留包含私有数据成员的对象,以便在用石头砸石之后恢复我的应用程序。现在的问题是

namespace xyz 
{
          [DataContract]
          public class ClassABC
          {

            [DataMember]
            private string a;

            [DataMember]
            private A b ; // A is a user defined class which is also serializable
          }
 }

现在我使用

  ClassABC abc = new ClassABC();
  var axds= IsolatedStorage.ApplicationSettings;
  axdes["some key"] = abc ;
  IsolatedStorage.ApplicationSettings.save(); 

//这引发了一个安全异常,即ClassABC不可序列化,因为它不公开。

我不知道为什么会出现这个问题。

请帮忙。

1 个答案:

答案 0 :(得分:0)

我的应用遇到了同样的问题。遗憾的是,由于信任级别,WP7无法序列化非公开成员。为了使这个工作,我不得不将我的属性全部更改为公共,然后我的序列化/反序列化方法就像一个魅力。我希望我有更好的工作可以帮助那些需要将他们的财产保密的人,但我不知道任何事情。