エラー:「Deserializerには、この契約にマップするタイプの知識がありません」?

StackOverflow https://stackoverflow.com/questions/3794458

質問

クラスフーがマークされています [Serializable] および実装 ISerializable. 。 DataContractSerializerを介してシリアル化しようとしています。 getobjectdataでは私はこれを行います:

info.AddValue("Test", new[] { 1,2,3});

失敗します:

要素 ':テスト'には、「http://schemas.microsoft.com/2003/10/serialization/Arrays:Arrayofint 'データ契約のデータが含まれています。 Deserializerには、この契約にマップするタイプの知識はありません。既知のタイプのリストに「arrayofint」に対応するタイプを追加します。たとえば、既知の操作属性を使用するか、既知の型型のリストにdataContractSerializerに渡されます。

渡してみました knownTypes DataContractSerializer Constructorへのarg-は役に立ちませんでした。

役に立ちましたか?

解決

渡ります knownTypes DataContractSerializerコンストラクターへのarg いいえ ヘルプ。代わりに、追加します [KnownType(typeof(int[]))] クラスフー自体に。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top