gpt4 book ai didi

c# - 无法访问任务的结果属性

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:00 24 4
gpt4 key购买 nike

我想我很好地初始化了“任务(TResult)”,但它发送了这个错误:“任务”不包含“结果”的定义并且没有扩展方法“结果”接受类型为“任务”的第一个参数' 可以找到(您是否缺少 using 指令或程序集引用?

我在 .net 4.0 中。这是“MySqlParameter[] param = tu.Result;”产生错误的行。

   Task < MySqlParameter[] > td3 = new Task < MySqlParameter[] > (() = >{
MySqlParameter[] param = {
new MySqlParameter("nom", MySqlDbType.String) {
Value = textBox2.Text
},
new MySqlParameter("nom_a", MySqlDbType.String) {
Value = textBox3.Text
},
new MySqlParameter("code", MySqlDbType.String) {
Value = textBox4.Text.ToUpper()
},
new MySqlParameter("ok", MySqlDbType.String) {
Value = textBox85.Text.ToUpper()
}
};
return param;
});
td3.ContinueWith(tu = >{
MessageBox.Show(this, Properties.Resources.f_ann + ": \n" + tu.Exception.GetBaseException().Message);

},
new CancellationTokenSource().Token, TaskContinuationOptions.OnlyOnFaulted, TaskScheduler.FromCurrentSynchronizationContext());
td3.ContinueWith(tu = >{
string sqlm = "update filiere set nom=@nom," + "nom_a=@nom_a, codef=@code" + " where codef='@ok'";
MySqlParameter[] param = tu.Result;
conn.Open();
MySqlHelper.ExecuteNonQuery(conn, sqlm, param);
td4.Start();
},
new CancellationTokenSource().Token, TaskContinuationOptions.OnlyOnRanToCompletion); * *strong text * *

最佳答案

您选择了错误的重载(只有 39 个)。没有 3 个参数的重载,编译器会跳过它:

td3.ContinueWith
(tu =>
{
MySqlParameter[] param = tu.Result;
}
, new CancellationTokenSource().Token
, TaskContinuationOptions.OnlyOnRanToCompletion
, TaskScheduler.Default
);

添加 TaskScheduler.Default 作为最后一个参数就可以了。

关于c# - 无法访问任务的结果属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57821579/

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