エラー:「Deserializerには、この契約にマップするタイプの知識がありません」?
-
05-10-2019 - |
質問
クラスフーがマークされています [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[]))]
クラスフー自体に。
所属していません StackOverflow