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
- Classe ram - Guide
- Firefox est mis à jour par une autre instance - Forum Mozilla Firefox
- Nvcontainer window class ✓ - Forum Carte graphique
- Bluetooth mercedes classe a 2005 - Forum Autoradio
- 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;
}
}