2017-09-08 3 views
0

J'ai essayé de sérialisation Dictionary<string, string> en utilisant SoapFormatter, mais il jette une exceptionPourquoi Soap Serializer ne supporte pas la sérialisation des types génériques?

Savon sérialiseur ne supporte pas les types génériques sérialisation: System.Collections.Generic.Dictionary`2 [System.String, System.String] .

La sérialisation de Dictionary<string, string> fonctionne avec BinaryFormatter.

Quelqu'un at-il une idée de la raison pour laquelle SoapFormatter ne prend pas en charge les types génériques de sérialisation?

+0

SoapFormater est en cours de dépréciation, ce qui pourrait être la raison de la même chose. –

Répondre

0

La classe SoapFormatter ne peut sérialiser que les objets qui auraient pu être créés avec .NET 1.1.

Comme les types génériques n'ont pas été introduits avant .NET 2.0, ils ne peuvent donc pas être sérialisés.

Si vous essayez de sérialiser une liste, vous pouvez utiliser un ArrayList ou, si vous essayez de sérialiser un dictionnaire générique, vous pouvez utiliser un Hashset.

Sinon, j'utiliserais le BinaryFormatter à la place.