Bonjour,
Un petit exemple simple, si tu as un seul champ dans ton objet à sérialiser :
public string maChaine = "toto";
'Tu peux définir ce que tu veux sérialiser et sous quelle forme en utilisant
SerializationInfo.AddValue :
void GetObjectData (SerializationInfo info, StreamingContext context) ...
{
info.AddValue("maChaine", maChaine);
}
' Et lors du rechargement de l'objet tu peux utiliser SerializationInfo.GetString ou plus généralement SerializationInfo.GetValue :
MonObjet(SerializationInfo info, StreamingContext context)
{
this.maChaine = info.GetString("maChaine");
}
En gros ça te permet de ne sérialiser que certains membres, certaines variables, etc... et également de contrôler ce qui devra être fait ou ne pas fait lors du rechargement de l'objet.
Comme dans ton cas tu as une collection, tu peux stocker indépendamment chaque objet de ta collection, ou stocker un tableau d'objet, ou ce que tu veux...

Par contre je vois pas en quoi le fait que ta collection soit fortement typée change quoi que ce soit... tu auras juste un Cast à faire quand tu récupèreras tes données lors de la dé-sérialisation.
Bonne soirée,
A++

Nurgle (Antoine) -
MSP