私はオブジェクトグラフで動作するDataContractSerializerを取得しました。詳細は前の質問を参照してください。RuntimeType:http://schemas.datacontract.org/2004/07/System 'は期待されていません
Serialization/Derialization of a tree structure
The deserializer has no knowlege of any type that maps to this contractしかし
は、私の分野の一つ、_UserPropertyDefinitions、それはこのユーザーがデータ構造内のオブジェクトに追加できるカスタムプロパティのリストを定義します。..下記のように定義されています。文字列はプロパティを識別するためのユニークなキーで、TypeはBool、Int、Stringなどのようなプリミティブ型のプロパティの型です。
各オブジェクトには対応するの辞書(String key、それは、このプロパティは空のコレクションであるとき、まだ私はこのコレクションにカスタムプロパティを追加したら、私のオブジェクトグラフが細かいシリアライズ「ユーザーのプロパティ」
[DataMember]
private Dictionary<string, Type> _UserPropertyDefinitions;
のいずれかに設定された値を格納するObject値)コレクションDataContractSerializerでシリアル化しようとすると、次の例外が発生します。データ コントラクト名 と
タイプ 'System.RuntimeType' 'RuntimeType:http://schemas.datacontract.org/2004/07/System' が期待されていません。たとえば、 KnownTypeAttribute属性を使用するか、 を使用して、既知のタイプのリスト をDataContractSerializerに渡すなどして、既知の のタイプのリストに静的に知られているタイプを追加します( )。
このフィールドのDataMember属性を削除すると、例外が発生することなくシリアル化/逆シリアル化できますが、このフィールドで作成した設定は失われます。
申し訳ありませんが遅延応答; - p Type.GetType()またはAssembly.GetType() –