methode aanroep met telkens andere parameters

  • Onderwerp starter Onderwerp starter DMK
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

DMK

Gebruiker
Lid geworden
5 nov 2013
Berichten
31
Ik heb de volgende code:


In dit form geef ik telkens aan de methode in de klasse hieronder verschillende parameters mee.
FORM
Code:
private void buttonTest_Click(object sender, EventArgs e)
{
      AnalyseBBL analyseBBL = new AnalyseBBL();

      analyseBBL.DBActie(Actie.select, DataBron.Access, 21914546);
      analyseBBL.DBActie(DataSource.Access, 21912817, "UITWBL028", 1, "Balans", "Biovolume", "N", 0.0006, "g"); 
}

AnalyseBBL
Code:
 public class AnalyseBBL
    {
       

        public void DBActie(Actie actie, DataBron dataSource, int limsNummer)
        {
            try
            {
                if (actie == Actie.select)
                {                    
                   
                }
                else if (actie == Actie.insert)
                {
                  
                }
            }
            catch
            {
                throw;
            }
        }              
    }

Hoe kan ik in de DBActie methode nu telkens de juiste parameters opvragen die ik mee krijg vanuit het FORM? Voor een select actie geef ik andere parameters mee aan de methode DBActie dan bijvoorbeeld een insert actie.
 
Dat is een beetje afhankelijk van wat je ermee wil en de reden waarom je het in een enkele class wil.

In dit geval wil je mogelijk een variabele lijst parameters gebruiken. Of een fixed constructor voor elke actie. Dat laatste vind ik persoonlijk beter als het mogelijk is, maar je hebt niet altijd de keuze.
 
Ik heb om een voorbeeld te geven deze parameters die ik mee geef:

Optie 1
analyseBBL.DBActie(Actie.select, DataBron.Access, 00000000);

Optie 2
analyseBBL.DBActie(DataSource.Access, 00000000, "Dit is een string", Nummer, "Dit is een string", "Dit is een string", "Nummer");

Actie.select en DataSource.Access zijn alle twee van het type enum. Hoe kan ik deze dan mee geven aan de DBActie methode?
 
Als je overloading gebruikt en alleen deze twee acties hoef je de actie niet eens mee te geven

maak de functie twee keer:

Code:
void actie (int test, string test2)
  {
      messagebox.show("functie met int en string")
  }

void actie(int test, string test2, int test3)
  {
      messagebox.show("functie met int en string en nog een int")
  }

als je nu aanroept met:

Code:
 actie(1,"test")

krijg je een andere functie dan met:

Code:
  actie(1,"test",3)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan