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 :

Création d'une méthod() [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 98
    Points : 59
    Points
    59
    Par défaut Création d'une méthod()
    Bonjour à tous,

    Voila je maîtrise encore mal la création de méthode. Les get, set, static, private, void, out in etc. se mélange dans ma tête si bien que je fait des méthodes de 800km de long, tous plein d'annotations, et a la longue je perd en lisibilité (même si j'ai fait un algorigramme pour m'aidé).

    J'arrive à faire rentré des bouts de code quant les entrées sortis sont basique mais je voulais savoir si il était possible par exemple ici de faire rentré le code suivant entre les parenthèse de la session [caca] dans une méthode vu que je vais la réutiliser régulièrement (oui en plus j'ai des redondance dans le code...). Y'a un peu de tous, de la session, de l'affichage mais si je pouvais isoler ce bout de code ailleurs mon evenement bouton click serait beaucoup beaucoup moins inbuvable

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    protected void Button1_Click(object sender, EventArgs e)
            {
                TheAnswer.Text = string.Empty;                                                
     
                //-------------- 1er clic la session ["caca"]n'existe pas 
                if (Session["caca"] == null)
                {               
                    string ChoixButton = Btchoix.SelectedValue;                
                    int IDQchoisi;
                    string Qchoisi; 
                    int RepStatChoisi;
                    Begin.Trooper(out IDQchoisi, out Qchoisi, out RepStatChoisi);
     
                    string ValEnvoi = IDQchoisi + "=" + ChoixButton;
     
                    List<Jonctab> LaNtable;
                    Transfojonc.Table(out LaNtable);
     
     
                    List<int> LeCount;
                    List<Jonctab> NouvTable;
                    ModificateurTable.Lanceur(ValEnvoi, LaNtable, out NouvTable, out LeCount);
     
                    int SortiID; 
                    string SortiQ;   
                    int RepStatistiqueChoisi;
     
                    Secondstep.Snooper(ValEnvoi, RepStatChoisi, NouvTable, out SortiID, out SortiQ, out RepStatistiqueChoisi); // recupere, clé, Q,et Table
     
                    List<int> AncienneQuesTperdu = null;
     
                    int Quesperdutest = 1000; 
                    List<int> Quesperdu;
                    Maladies.Perdues(ValEnvoi, LaNtable, AncienneQuesTperdu, out Quesperdu);
     
                    if (Quesperdu == null)
                    {
                        Quesperdutest = 0;
                    }
                    else
                    {
                        Quesperdutest = Quesperdu.Count();
                    }
     
                    TheAnswer.Text = SortiQ;
     
                    string info;
                    Infobulle.Bulle(SortiID, out info);
     
     
                    TheAnswer.ToolTip = info;
     
                    int Plainte;
                    Qlocalisation.Localise(SortiID, out Plainte);
     
     
                    if (Plainte == 1)
                    {
                        QImage.Visible = true;
                        Qtexte.Visible = false;
                    }
     
                    else
                    {
                        QImage.Visible = false;
                        Qtexte.Visible = true;
                    }
     
     
                    Session["velevete"] = SortiQ;         
     
     
                    Session["IDQuestion"] = SortiID;
                    Session["LaTable"] = NouvTable;
                    Session["Repstat"] = RepStatistiqueChoisi;                  
                    Session["QuestPerdu"] = Quesperdu;
     
                    LeCompte.Text = "On sort de la 1ere itération";
     
                    int Pouraffich = Quesperdutest;
                    LeCompte2.Text = Convert.ToString(Pouraffich);
     
                    var selection_click = NouvTable;
                    GridView1.DataSource = selection_click;
                    GridView1.DataBind();
                }
    Ce qui donnerai visuellement quelque chose dans ce gout la une fois la méthode avec les private/public void , out , in que je cherche écrite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    protected void Button1_Click(object sender, EventArgs e)
            {
                TheAnswer.Text = string.Empty;                                                
     
                //-------------- 1er clic la session ["caca"]n'existe pas 
                if (Session["caca"] == null)
                {   
                LaNouvelle.Methode();
                }
    Le code écrit fonctionne très bien mais comme je vais peut être refiler le projet à quelqu'un j'aimerais le rendre le plus lisible possible (j'ai effacer les annotations pour le rendre moins long sur ce post) et mettre en boite tous les bout de code redondant qu'il passe pas 6 mois a juste comprendre ma logique

    merci de votre aide

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    tu coinces sur quoi exactement ? Parce que là il suffit de couper/coller ton code et le mettre dans une méthode de ta classe. Pour la portée tu peux mettre ce que tu veux (sauf public qui me parait pas approprié). Pour le type de retour tu peux ne rien mettre (void) puisque ton code ne fait que des actions sans pouvoir sortir en erreur. Enfin tu n'utilises aucun paramètre qui proviendrait de la méthode appelante (sender et e), donc pas de paramètre.

    Pour les choix sur le découpage fonctionnel je peux pas trop t'aider.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 98
    Points : 59
    Points
    59
    Par défaut
    Euh ... Effectivement dit comme ça il me semble bien que la solution soit on ne peut plus simple...
    Je rentre à nouveau dans le Top 5 des Questions moisi je pense, heureusement que y'a pas de zapping sur le forum

    Dans mon idée le Void n'était pas utilisable à partir du moment ou il y'avait une sortie de données "de la page code behind" vers la page html. Comme mon affichage Gridview est sur une autre méthode (Page_Load) ça ne m'était même pas venu a l'esprit de faire aussi simple, je pensais devoir faire un paramètre de sorti "Out List<Jonctab> NouvTable" et sortir le Grid view de la méthode pour le mettre ailleurs .


    Petite question subsidiaire, dans le cas ou entre ces parenthèses il y'aurais eu un appel à une session. Est-ce que c'est toujours valable ou bien à la porte de la méthode il faut convertir la session en un string par exemple pour pouvoir la passer en paramètre ou est-ce que les session passe la barrière des méthodes?

    Merci beaucoup de ton aide en tous cas

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Je veux pas dire de bêtise mais il me semble que Session est un membre de la classe Page, de laquelle dérive ta classe.
    Il est donc visible dans toute celle-ci, pas besoin de le trimbaler dans des paramètres (à part si tes fonctionnalités sont dans une autre classe).
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 98
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup pour ton aide et tes explications.

    Je vais tester tous ça ce soir et je mettrais résolu dans la foulée

  6. #6
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 98
    Points : 59
    Points
    59
    Par défaut
    c'est tous bon

    merci de ton aide

    ++

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

Discussions similaires

  1. probleme de bouton radio..
    Par mosca_coroneja dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 31/03/2006, 16h14
  2. probleme de bouton radio
    Par jeanfrancois dans le forum Langage
    Réponses: 4
    Dernier message: 23/02/2006, 13h44
  3. [VBA excel] Probleme sur bouton commande
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 22/11/2005, 10h10
  4. [FLASH MX2004] Probleme liens boutons
    Par pierpo dans le forum Flash
    Réponses: 2
    Dernier message: 16/11/2005, 23h31
  5. [Struts]probleme de bouton
    Par stanilas dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/08/2005, 22h29

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