C# 在1.1.Net中使用参数进行异步方法调用
我有一个需要很长时间的方法,我想异步调用该方法并继续,我不需要回调或错误 我使用了C# 在1.1.Net中使用参数进行异步方法调用,c#,.net,.net-1.1,C#,.net,.net 1.1,我有一个需要很长时间的方法,我想异步调用该方法并继续,我不需要回调或错误 我使用了MethodInvoker和BeginInvoke,这很好,但我不知道如何传递参数 这在没有参数的情况下有效 MethodInvoker me = new MethodInvoker(my method); me.BeginInvoke(null, null); 感谢使用ThreadPool.QueueUserWorkItem。这非常适合于不需要回调的“触发并忘记”场景 您可以像这样传递参数: object pa
MethodInvoker
和BeginInvoke
,这很好,但我不知道如何传递参数
这在没有参数的情况下有效
MethodInvoker me = new MethodInvoker(my method);
me.BeginInvoke(null, null);
感谢使用ThreadPool.QueueUserWorkItem。这非常适合于不需要回调的“触发并忘记”场景 您可以像这样传递参数:
object parameters = new object[] { 3.7, "foo", 1 };
ThreadPool.QueueUserWorkItem(new WaitCallback(Blah), parameters);
...
void Blah(object state)
{
object[] arguments = (object[])state;
double first = (double) arguments[0];
string second = (string) arguments[1];
int third = (int) arguments[2];
}
使用ThreadPool.QueueUserWorkItem。这非常适合于不需要回调的“触发并忘记”场景 您可以像这样传递参数:
object parameters = new object[] { 3.7, "foo", 1 };
ThreadPool.QueueUserWorkItem(new WaitCallback(Blah), parameters);
...
void Blah(object state)
{
object[] arguments = (object[])state;
double first = (double) arguments[0];
string second = (string) arguments[1];
int third = (int) arguments[2];
}
为什么在此实例中使用
MethodInvoker
?制作自己的委托并使用它:
public delegate MyMethodDelegate(int param1, string param2);
塔达 为什么在此实例中使用
MethodInvoker
?制作自己的委托并使用它:
public delegate MyMethodDelegate(int param1, string param2);
塔达 为什么要使用5年以上的.NET Framework版本,而与.NET Framework 2.0相比,它缺少很多功能?这是一个旧系统,正在对其进行一些更改。目前需要升级的工作太多。您可能希望向我们展示您迄今为止所做的尝试,而不仅仅是提及。添加了我所做的尝试。不知道如何传递参数为什么您使用的是5年以上的.NET Framework版本,与.NET Framework 2.0相比,它缺少很多功能?这是一个旧系统,正在对其进行一些更改。目前需要升级的工作太多。您可能希望向我们展示您迄今为止所做的尝试,而不仅仅是提及。添加了我所做的尝试。我不知道如何传递参数