2012-01-25 7 views
0

を起動しない状態の よう: 直列化オブジェクト私は、オブジェクトを持っていると国家の辞書にそれを保存しようとしていますが、私は使用してそれにオブジェクトを渡すときに例外

State["name"] = object; 

私が提起されているいくつかの例外を参照してください。

タイプ 「System.Runtime.Serialization.InvalidDataContractException」の最初の機会例外はSystem.Runtime.Serialization.dllで にタイプ 「システムの最初のチャンス例外が発生しました。 Reflection.TargetInvocationException 'が発生しましたedはがmscorlib.dll タイプ 「System.Runtime.Serialization.InvalidDataContractException」の最初のチャンス例外で自動的にシリアライズし、渡されたオブジェクトのためのデシリアライズんSystem.Runtime.Serialization.dll

状態で を発生しました。何が問題なの?

クラスが宣言されているときにオブジェクトが[シリアル化]を使用する必要があると思われます。私は私のクラスの[シリアル化]を使用しようが、私はusing System.Runtime.Serialization;を宣言したが、それが認識されず、参照がここ

UPDATE

が存在する私はシリアライズしようとしているクラスがある:

public class MeshObject 
    { 
     public ModelMesh mesh; // xna specific class 
     public Matrix startOrientation; // xna specific class 
     public Matrix Orientation; // xna specific class 
     public bool isSetInPlace = false; 
     public bool isSelected = false; 
     public bool inPlay = false; 
    } 

UPDATE 2

私はこのpostから理解して何から、何[Serializableを]私はありませんn Silverlight。どうすればこの問題を解決できますか?

+0

をタイプが他の非直列化可能なタイプが含まれていますか?コードを投稿してください! –

+0

更新を投稿しました – Alex

+0

ModelMeshはシリアル化できません...メッシュフィールドを[XmlIgnore]とマークして何が起こるかを確認してください。 (MeshObjectクラスがSerializableとしてマークされていることを確認してください) –

答えて

0

Serializableの属性はWP7では利用できませんread here

  • することができますように(それが唯一とにかくバイナリシリアルのために必要とされる)
  • あなたはあなたが必要となります
  • をシリアライズとデシリアライズするためにXmlSerializerを使用することができます"System.Xml.Serialization.dll"も参照してください。

あなたはシリアライズを自分で実装する必要がありますシリアル化可能ではないタイプのシリアル化したい場合:http://mobile.dzone.com/articles/windows-phone-7-serialization

+0

あなたの方法はいいですが、私は[DataContract]と[DataMember]を使ってクラスを終了しました。 – Alex

+0

はい、これはリンク先の記事に記載されている代替方法です。 –

関連する問題

 関連する問題