使用异步调用的多播委派

本文关键字:多播 委派 调用 异步 | 更新日期: 2023-09-27 18:21:00

这是我的Main类代码:

DelegateClass dc = new DelegateClass();
MyDelegate mydelegate = new MyDelegate(dc.WriteName);
ParameterLess paramless = new ParameterLess(dc.ShowName);
IAsyncResult mydelresult = mydelegate.BeginInvoke("Some Data",null,null);
var result = mydelegate.EndInvoke(mydelresult);
Console.WriteLine("Name is {0} ", result);
IAsyncResult myparamless = paramless.BeginInvoke(null,null);
result = paramless.EndInvoke(myparamless);
Console.WriteLine("Greeting is {0} ", result);
Console.WriteLine();
Console.ReadLine();

这是我的DelegateClass:

public string WriteName(string Name)
{
    return Name;      
}
public string ShowName()
{
    return "Hello";    
}
public string idea(string idea)
{
    return idea;
}

由于ideaWriteName的定义相同,我想使用BeginInvoke和EndInvoke使它们成为多播委托。有人能告诉我如何做到这一点吗。有可能吗?

使用异步调用的多播委派

您不能使用使用asyn调用的多播委托,因为每个asyn调用都在单独的线程上执行,并且您没有执行第二个线程的选项。