美文网首页
如果你的公司用的VS比较简陋而无法使用Async,Await

如果你的公司用的VS比较简陋而无法使用Async,Await

作者: 小狼在IT | 来源:发表于2018-05-10 10:10 被阅读0次

然而你又想用Task提高程序效率。

注意:如果你们的开发工具已经可以用上Async,Await,就别读下去了,没意义。

原则上可以这样:

    public static int doSomething(string a,string b,string c,string d,string e)
    {
        //do something
        return 1;
    }

然后调用:

        Task<int> t3 = new Task<int>(() => doSomething("","","","",""));
        t1.Start();

最后在任意需要返回值的地方:

        int a = t3.Result;

另外,我有个简单点的办法:

设计一个方法(用来做代理):

    public static Task<T> delegateTask<T>(Func<T> ac)
    {
        Task<T> t1 = new Task<T>(() =>
        {
            T iTest = ac();
            return iTest;
        });
        t1.Start();
        return t1;
    }

然后用这个代理调用:

   Task<int> t3 = delegateTask<int>(() => doSomething("", "", "", "", ""));
    int a = t3.Result;

也就稍微少写了一点点代码。

相关文章

网友评论

      本文标题:如果你的公司用的VS比较简陋而无法使用Async,Await

      本文链接:https://www.haomeiwen.com/subject/tvxzrftx.html