将方法当做参数进行处理,把繁琐统一的步骤合并到一个方法里,本文用一个简单的计算器来实现委托,适合入门的同学参考。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp7
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int k = 10;
delegate int myDelegate(string x ,string y);
private int addNum(string a, string b)
{
return int.Parse(a) + int.Parse(b);
}
private int minusNum(string a, string b)
{
return int.Parse(a) - int.Parse(b);
}
private int multiNum(string a, string b)
{
return int.Parse(a) * int.Parse(b);
}
private int divNum(string a, string b)
{
return int.Parse(a) / int.Parse(b);
}
private void Calculate(myDelegate ex, string a,string b)
{
int res = ex(a, b);
textBox3.Text = res.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
Calculate(addNum, textBox1.Text,textBox2.Text);
}
private void button2_Click(object sender, EventArgs e)
{
Calculate(minusNum, textBox1.Text, textBox2.Text);
}
private void button3_Click(object sender, EventArgs e)
{
Calculate(multiNum, textBox1.Text, textBox2.Text);
}
private void button4_Click(object sender, EventArgs e)
{
Calculate(divNum, textBox1.Text, textBox2.Text);
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "8";
textBox2.Text = "4";
}
}
}