Class qui instancie une autre classe
eddy21
-
eddy21 -
eddy21 -
Bonjour à tous !
Je suis développeur C# débutant, et je me demande quelle est la façon correcte de résoudre mon problème. Des exemples seront plus explicites :
Je souhaite sérialiser-déserialiser des objets contenus dans une List<Personne> qui généreraient un XML du genre :
J'ai donc une classe Personne :
Ainsi qu'une classe Adresse :
Je n'ai pas préciser ici les paramètres pour la sérialisation XML, ceux ci ne me posant pas (encore ^^) de problèmes.
Je souhaiterai donc savoir comment gérer en C# l'imbrication de l'objet Adresse dans l'objet Personne et surtout comment le(s) valoriser ? Passer les paramètres de Adresse dans le constructeur de Personne ne me semble pas être la bonne méthode...
Merci de votre aide :)
Je suis développeur C# débutant, et je me demande quelle est la façon correcte de résoudre mon problème. Des exemples seront plus explicites :
Je souhaite sérialiser-déserialiser des objets contenus dans une List<Personne> qui généreraient un XML du genre :
<?xml version="1.0" encoding="UTF-8"> <ArrayOfPersonne> <Personne> <Nom>DUPONT</Nom> <Prenom>Jean</Prenom> <Adresse> <Ville>Paris</Ville> <Cp>75000</Cp> </Adresse> </Personne> <Personne> <Nom>JAQUES</Nom> <Prenom>Bernard</Prenom> <Adresse> <Ville>Montpellier</Ville> <Cp>34000</Cp> </Adresse> </Personne> </ArrayOfPersonne>
J'ai donc une classe Personne :
class Personne{ string nom, prenom; public string Prenom { get { return prenom; } set { prenom= value; } } public string Nom { get { return nom; } set { nom = value; } } public Personne() { } public Personne(string unPrenom, string unNom) { prenom = unPrenom; nom = unNom; } }
Ainsi qu'une classe Adresse :
class Adresse{ string ville, cp; public string Ville { get { return ville; } set { ville= value; } } public string Cp { get { return cp; } set { cp= value; } } public Adresse() { } public Adresse (string uneVille, string unCp) { ville = uneVille; cp = unCp; } }
Je n'ai pas préciser ici les paramètres pour la sérialisation XML, ceux ci ne me posant pas (encore ^^) de problèmes.
Je souhaiterai donc savoir comment gérer en C# l'imbrication de l'objet Adresse dans l'objet Personne et surtout comment le(s) valoriser ? Passer les paramètres de Adresse dans le constructeur de Personne ne me semble pas être la bonne méthode...
Merci de votre aide :)
A voir également:
- Class qui instancie une autre classe
- Ouvrez cette page. dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? ✓ - Forum Programmation
- Classe ram - Guide
- Bluetooth mercedes classe a 2005 - Forum Autoradio
- Firefox est mis à jour par une autre instance - Forum Mozilla Firefox
- Dans le code de la page, modifiez la couleur de fond de la classe .pix. - Forum Réseaux sociaux
2 réponses
Bonsoir
tu peux faire comme ça
tu peux faire comme ça
class Personne{ string nom, prenom; Adresse adresse; public string Prenom { get { return prenom; } set { prenom= value; } } public string Nom { get { return nom; } set { nom = value; } } public Adresse Adresse { get { return adresse; } set { adresse = value; } } public Personne() { } public Personne(string unPrenom, string unNom, Adresse MonAdresse) { prenom = unPrenom; nom = unNom; adresse = Adresse; } }
Bonsoir Whismeril, et merci pour ta réponse !
La manière correcte est donc de passer d'inclure l'objet Adresse comme propriété de la classe Personne pour pouvoir passer l'adresse dans le constructeur de Personne ?
Merci
La manière correcte est donc de passer d'inclure l'objet Adresse comme propriété de la classe Personne pour pouvoir passer l'adresse dans le constructeur de Personne ?
Merci
class Personne{ string nom, prenom; List<Adresse> adresses; public string Prenom { get { return prenom; } set { prenom= value; } } public string Nom { get { return nom; } set { nom = value; } } public List<Adresse> Adresses { get { return adresses; } set { adresses = value; } } public Personne() { mesAdresses = new List<Adresse>();//si tu passes par ce constructeur, la liste sera instanciée et tu pourras utiliser ses méthodes (add par exemple) sans te poser la question si c'est fait ou pas. } public Personne(string unPrenom, string unNom, List<Adresse> MesAdresses) { prenom = unPrenom; nom = unNom; adresses = MesAdresses; } }