2016-11-20 11 views
1

У меня есть код ниже. Является ли способ написать это более эффективно? Поскольку я повторяю код, для класса Drank есть только другие значения.Оптимизация: несколько кликов с одинаковым кодом, но с разными значениями

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; 
    } 

ответ

1

Вы можете создать метод с логикой для всех событий щелчка

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

и затем метод для каждого события, например,

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