2016-11-20 3 views
1

Ich habe den Code unten. Gibt es eine Möglichkeit, dies effizienter zu schreiben? Weil ich den Code wiederhole, gibt es nur andere Werte für die Klasse Trank.Optimierung: mehrere Clickereignisse mit gleichem Code aber differenzierten Werten

private void btnCola_Click(object sender, RoutedEventArgs e) 
    { 
     Drank dranken = new Drank 
     { Naam = "Cola", Prijs = 1.50M }; 
     lblDrankje.Content = dranken.ToString(); 
     GroupBox1.IsEnabled = false; 
    } 

    private void btnWater_Click(object sender, RoutedEventArgs e) 
    { 
     Drank dranken = new Drank 
     { Naam = "Water", Prijs = 1.00M }; 
     lblDrankje.Content = dranken.ToString(); 
     GroupBox1.IsEnabled = false; 
    } 

    private void btnKoffie_Click(object sender, RoutedEventArgs e) 
    { 
     Drank dranken = new Drank 
     { Naam = "Koffie", Prijs = 1.70M }; 
     lblDrankje.Content = dranken.ToString(); 
     GroupBox1.IsEnabled = false; 
    } 

    private void btnSoep_Click(object sender, RoutedEventArgs e) 
    { 
     Drank dranken = new Drank 
     { Naam = "Soep", Prijs = 1.90M }; 
     lblDrankje.Content = dranken.ToString(); 
     GroupBox1.IsEnabled = false; 
    } 

Antwort

1

Sie könnten eine Methode mit der Logik für alle Click-Ereignisse

private void DrankClick(string naam, decimal prijs) 
{ 
    Drank dranken = new Drank 
    { Naam = naam, Prijs = prijs }; 
    lblDrankje.Content = dranken.ToString(); 
    GroupBox1.IsEnabled = false; 
} 

erstellen und dann für jedes Ereignis eine Methode, z.B.

private void btnCola_Click(object sender, RoutedEventArgs e) 
{ 
    DrankClick("Cola", 1.50M); 
}