gpt4 book ai didi

c# - 多播委托(delegate) C#

转载 作者:太空狗 更新时间:2023-10-30 00:15:24 30 4
gpt4 key购买 nike

正在研究委托(delegate)。正如我所读。我了解到在委托(delegate)中添加多个函数称为多播委托(delegate)。基于此,我编写了一个程序。我在 MyDelegate 中添加了两个函数(AddNumbers 和 MultiplyNumbers)。下面的程序是多播委托(delegate)的示例吗?

public partial class MainPage : PhoneApplicationPage
{
public delegate void MyDelegate(int a, int b);
// Constructor
public MainPage()
{
InitializeComponent();

MyDelegate myDel = new MyDelegate(AddNumbers);
myDel += new MyDelegate(MultiplyNumbers);
myDel(10, 20);
}

public void AddNumbers(int x, int y)
{
int sum = x + y;
MessageBox.Show(sum.ToString());
}

public void MultiplyNumbers(int x, int y)
{
int mul = x * y;
MessageBox.Show(mul.ToString());
}

}

最佳答案

是的,这是一个多播委托(delegate)的例子。请注意,而不是

new MyDelegate(AddNumbers)

你通常可以说只是

AddNumbers

因为存在所谓的方法组转换,它会为您创建委托(delegate)实例。

另一件需要注意的事情是你的声明 public delegate void MyDelegate(int a, int b); 没有 驻留在另一个类型中(这里在 主页类)。它可以是命名空间的直接成员(因为它是一种类型)。但是当然,将它“嵌套”在一个类中是完全有效的,就像您所做的那样,原因与您创建嵌套类的原因类似。

关于c# - 多播委托(delegate) C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15023736/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com