2009-12-01 5 views
1

je dois passer un certain conteneur d'objets à WCF appelerWCF, des conteneurs à DataContract

[DataContract] 
class Foo 
{ 
// other fields omited 

[DataMember] 
public List<Foo> MyList; 
} 

Est-ce OK pour la sérialisation? Sinon, quelles sont mes options?

+0

Je veux dire que si la liste MyList sera publié en feuilleton sucessfully? –

Répondre

2

C'est bon, mais le type résultant sera un tableau et non une liste. Je suis parti à l'aide de tableau dans le contrat juste pour m'assurer que je n'essaie pas de l'utiliser comme liste ailleurs.

+0

Comment voulez-vous dire que la liste deviendra array? Pls clarifier. Merci. –

+2

Vous pouvez régler le générateur de proxy pour qu'il émette des tableaux ou des listes. Je pense que les tableaux sont par défaut. –

+1

Le changerait-il en IList sortez cela? – MattC

0

Il réussira à sérialiser même si vous n'appliquez pas DataContract. La seule condition est que tous les types utilisés dans sérialisation ont constructeur parameterless (privé fera même), par exemple:

List<T> - already has it. 
Foo - have it by default. 
Questions connexes