2009-02-18 5 views
1

Est-il possible d'enregistrer une ArrayList d'objets personnalisés dans les paramètres utilisateur de l'application sans avoir recours à la sérialisation personnalisée?Enregistrement d'une ArrayList d'objets personnalisés dans les paramètres utilisateur

Par exemple, étant donné une classe de données de base contenant les propriétés get/set que publics et les champs d'accompagnement privé:

[Serializable] 
class SimpleClass() 
{ 
    ... 
} 

Quand je lance ce qui suit dans le code, puis redémarrez l'application, le réglage ArrayList nommé MyList est toujours nul, c'est-à-dire qu'il n'a pas été sauvegardé. Je réalise qu'une ArrayList n'est pas typée, c'est-à-dire que je ne sais pas. il contient une collection d'objets. Cependant, il est simple d'utiliser GetType() sur chaque objet pour déterminer le type réel. Cela devrait permettre la sérialisation, n'est-ce pas? Je sais aussi comment contourner ce problème en effectuant certaines sérialisations personnalisées. C'est juste une douleur que cela ne semble pas fonctionner car ce serait de loin le plus pratique pour des situations plus simples.

Des idées?

Répondre

1

Si vous utilisez la sérialisation XML, vous pouvez utiliser l'attribut XmlArrayItem. Cela nécessite que vous connaissiez les différents types qui peuvent être présents dans ArrayList au moment de la compilation.

Questions connexes