2016-11-20 16 views
1

我有下面的代碼。是否可以更有效地編寫這種方法?因爲我重複了這段代碼,所以只有其他值類的Drank。優化:用相同的代碼,但differten值的多個clickevents

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