GeirGrusom Skrevet 19. mai 2010 Del Skrevet 19. mai 2010 Jeg har et forslag som bygger på det MailMan13 sa: Func<Decimal, Decimal, Decimal> current_op; Decimal accumulator; private string Number; public Program() { InitializeComponent(); plusop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a + b; minusop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a - b; mulop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a * b; divop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a / b; } private void Number_Click(object sender, EventArgs e) { Number.Text = (sender as Control).Text + Number.Text; } private void Operator_Click(object sender, EventArgs e) { Decimal val; if(Decimal.TryParse(Number, out val)) { if(current_op != null) { accumulator = current_op(accumulator, val); } current_op = (sender as Control).Tag as Func<Decimal, Decimal, Decimal>; Number = ""; } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå