【问题标题】:Cannot access Result property of a Task无法访问任务的结果属性
【发布时间】:2019-09-06 20:22:00
【问题描述】:

我认为我很好地初始化了“任务(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 * *

【问题讨论】:

  • 你能发布一个可编译的代码吗?没有 ContinueWith 采用 3 个参数
  • @PatrickHofman 你能告诉我我应该使用 .Net 4.0 API 中哪一种重载方法docs.microsoft.com/en-us/dotnet/api/… - 我看不到任何匹配方法 - 所以 OP 有代码或描述错误
  • @SirRufo 你是对的。我记错括号了。我在这个过程中找到了解决方案;)

标签: c#


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 2018-04-07
    • 2014-09-19
    • 1970-01-01
    相关资源
    最近更新 更多