IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

classe qui appel une autre classe avec un nombre


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut classe qui appel une autre classe avec un nombre
    Bonjour,
    Voici mon problème:
    J'ai deux classes et je souhaiterai appeler la deuxième en utilisant un nombre vu qu'il y a plusieurs SET de paramètres possibles.
    j'explique:
    une classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class STATION
    {
    int n_Station ;
    string s_nomStation;
    xxx SETdeParametres ;
    }
    public class Setdeparametres
    {
    int n_premierParam;
    int n_DeuxièmeParam;
    float f_troisièmeParam}
    Je souhaiterai pouvoir faire un appel du style:
    station stationnum1 = new station;
    stationnum1.Setdeparam[2].n_deuxiemeparam = 32;

    Cela est-il possible ou je me plante et il y a beaucoup plus simple??

    Merci par avance et belle journée!


    Ok j'ai trouvé et fait comme ca, ca vous semble viable??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        public class Station
        {//Object class1
            //private
        static int NbreParam = 5; 
            //public
        public bool bool1;//
        public int valeur2;// [s]
        public int Temps;// [s]
        public station_SETOFPARAM[] SetNum = new station_SETOFPARAM[NbreParam];        
        }
        public class station_SETOFPARAM
        {
           public int pos1;// départ [µm]
            public int pos2; // fin [µm]
         }
    avec l'appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    STATION station2 = new STATION();
    station2.SetNum[2].pos1 = 2;
    Alors? oui ou pas du tout?....

    Merci encore par avance!

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tu l'a fait comme ça ? Ça doit te générer un exception.

    Voici comment je procéderai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
            public class Station
            {
                public bool bool1;
                public int valeur2;
                public int Temps;
                public station_SETOFPARAM[] SetNum; // Déclaration du tableau de station_SETOFPARAM
     
                public Station(int NbreParam)
                {
                    SetNum = new station_SETOFPARAM[NbreParam]; // Initialisation du tableau
                    for (int i = 0; i < NbreParam; i++) // Pour chaque élément du tableau
                        SetNum[i] = new station_SETOFPARAM(); // Initialisation de l'élément
                }
     
                public class station_SETOFPARAM
                {
                    public int pos1;
                    public int pos2;
                }
            }
    Code d'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                Station station2 = new Station(3); // Constructeur spécifiant le nombre de paramètre
                station2.SetNum[2].pos1 = 2;
                station2.SetNum[2].pos2 = 4;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut Une exception...
    Bonjour,
    Pourquoi une exception?
    Mais en effet c'est plus propre d'utiliser le constructeur pour ca. Merci!!

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Tu peux tout simplement utiliser une liste d'objet.

    Regarde du côté de la classe List(Of T)

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    J'ai prit ton code collé ça génère une exception et ça parait logique puisque les éléments du tableau ne sont pas initialisé.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    J'ai prit ton code collé ça génère une exception et ça parait logique puisque les éléments du tableau ne sont pas initialisé.
    Avec Visual studio 2010 c# ca marchait... mais il est initialisé avec le membre static NbreParam=5 non?

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Citation Envoyé par lupus5 Voir le message
    Avec Visual studio 2010 c# ca marchait... mais il est initialisé avec le membre static NbreParam=5 non?
    Non, si ça fonctionnait c'est que tu n'a pas du donner tout le code.
    Le tableau est initialisé mais pas chaque élément.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Citation Envoyé par ZenZiTone Voir le message
    Tu peux tout simplement utiliser une liste d'objet.

    Regarde du côté de la classe List(Of T)
    Oui j'y avais pensé mais comme c'est pas une liste évolutive en dynamique... je voulais pas utiliser plus que ce qu'il fallait... mais merci!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilation d'une classe java avec cmd appelant une autre classe
    Par y_chafaqi dans le forum Général Java
    Réponses: 10
    Dernier message: 09/12/2009, 20h24
  2. Réponses: 7
    Dernier message: 03/12/2008, 15h18
  3. [Reflection] Comment connaitre le nom de la classe qui appelle une méthode?
    Par framus.class dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 09/06/2008, 09h13
  4. Pb d'appel d'un classe (public) dans une autre
    Par MSM_007 dans le forum Général Java
    Réponses: 5
    Dernier message: 12/05/2008, 17h12
  5. appeler une autre classe en J2ME
    Par yodark dans le forum Java ME
    Réponses: 2
    Dernier message: 06/12/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo