Recuperer des paramatre dans des Class [Résolu]

Messages postés
17
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
31 août 2009
- - Dernière réponse : MatHack_74
Messages postés
17
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
31 août 2009
- 31 août 2009 à 12:26
Bonjour à tous.

J'ai une question est je ne connais pas trop le terme et j'aimerais en même temps le savoir.

J'ai crée une Class ou je charge un XML :

         
    class LoadingXml
    {
        public void LoadingUserOnline
        {
            XmlDocument xmlUserOnline = new XmlDocument();
            try
            {
                //Local
                xmlUserOnline.Load("xmlOnline.xml");
            }
            catch (Exception elang)
            {
                MessageBox.Show("Erreur");
            }
        }
    }


Maintenant dans mon code principale j'aimerais bien récupérer l'appelle "xmlOnline" pour faire ça :

Utilisation de la Class :
             LoadingXml XmlLoading = new LoadingXml();
             XmlLoading.LoadingUserOnline();

             
             XmlNode root = xmlOnline.DocumentElement;
             int nUser = xmlOnline.GetElementsByTagName("User").Count;



Mais le problème c'est que il ne connais pas le xmlOnline car il est que dans la class je ne c'est pas trop si c'est possible
ou comment le récupérer car sa me ferait une belle optimisation de code car à chaque fois dans les fonction le charger sa viens lourd sur le code.

Merci de vos réponse.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
1
3
Merci
Bonjour,

Tu as plusieurs possibilités, par exemple :

- Déclarer xmlUserOnline comme variable membre de ta classe.
- Déclarer la fonction LoadingUserOnline comme retournant un XmlDocument.

public XmlDocument LoadingUserOnline
{
XmlDocument xmlUserOnline = new XmlDocument();
...
return xmlUserOnline;
}


XmlDocument doc = LoadingUserOnline();

int nUser = doc.GetElementsByTagName("User").Count;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ed73
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
1
3
Merci
Il faut d'abord instancier ta classe :

LoadingXml xml = new LoadingXml();

XmlDocument xmlUser = xml.LoadingUserOnline();

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ed73
Messages postés
17
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
31 août 2009
0
Merci
Je me suis tromper et je ne trouve pas le bouton d'édition :

           XmlNode root = xmlUserOnline.DocumentElement;

           int nUser = xmlUserOnline.GetElementsByTagName("User").Count;

Commenter la réponse de MatHack_74
Messages postés
17
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
31 août 2009
0
Merci
Merci ed73 cella repond à ma question, mais j'en ai une autre mais sa doit etre la meme chose mais le code qui change :

Si j'ai ma class dans un fichier de class "LoadingXml.cs" et dedans j'ai :

    
    class LoadingXml
    {
        public XmlDocument LoadingUserOnline()
        {
            XmlDocument xmlUserOnline = new XmlDocument();
            try
            {
                xmlUserOnline.Load("UserOnline.xml");
            }
            catch (Exception errXmlUserOnline)
            {
                MessageBox.Show("Erreur");
            }
            return xmlUserOnline;
        }
    }


Et dans la form1 je tape :

XmlDocument xmlUser = LoadingUserOnline(); 

int nUser = xmlUser.GetElementsByTagName("User").Count; 


La premiere ligne a un probleme je pensse qu'il la vois pas comment faire c'est peut être tres bete mais les class je commence seulement à vraiment les utiliser pour organiser mon code.

Merci de vos réponse.
Commenter la réponse de MatHack_74
Messages postés
17
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
31 août 2009
0
Merci
Que dire de plus à par un grand Merci
Commenter la réponse de MatHack_74