用C#实现通过事件计算两个数
时间: 2024-09-23 17:03:33 浏览: 31
C#实现两个时间相减的方法
5星 · 资源好评率100%
在C#中,你可以通过创建自定义事件和委托来实现通过事件计算两个数的功能。以下是一个简单的示例:
首先,定义一个事件和一个委托,用于表示数值的更改:
```csharp
public delegate void NumberChangedEventHandler(object sender, EventArgs e);
public event NumberChangedEventHandler NumberChanged;
public class Calculator
{
private int num1;
private int num2;
public int Num1
{
get { return num1; }
set
{
num1 = value;
OnNumberChanged();
}
}
public int Num2
{
get { return num2; }
set
{
num2 = value;
OnNumberChanged();
}
}
protected virtual void OnNumberChanged()
{
if (NumberChanged != null)
{
NumberChanged(this, EventArgs.Empty);
}
}
}
```
然后,在其他类中订阅这个事件,并提供处理程序来执行计算:
```csharp
class Program
{
static void Main(string[] args)
{
Calculator calculator = new Calculator();
// 订阅事件并设置处理方法
calculator.NumberChanged += CalculateNumbers;
// 修改数字,触发事件
calculator.Num1 = 5;
calculator.Num2 = 10;
Console.ReadKey();
}
static void CalculateNumbers(object sender, EventArgs e)
{
Calculator calc = (Calculator)sender;
int sum = calc.Num1 + calc.Num2;
Console.WriteLine("Sum of numbers is: " + sum);
}
}
```
在这个例子中,当你改变`Calculator`类的`Num1`或`Num2`属性时,`NumberChanged`事件会被触发,然后执行`CalculateNumbers`方法计算并打印出两个数的和。
阅读全文