首页 > 解决方案 > 无法将类型隐式转换为 Func

问题描述

我正在尝试编写一个异步应用程序来从(远程)库中获取值。我偶然发现了一个动作方法,它给出了错误“无法将类型隐式转换为 Func”。

我尝试了各种返回类型...

    private static void CallAsynch2()
    {
        var tasks = new List<Task<KeyValuePair<int,string>>();

        for (int i = 0; i < Iterations; i++)
            tasks.Add(Task<KeyValuePair<int, string>>.Factory.StartNew(GetValueAction(i)));

    }

    private static Func<KeyValuePair<int, string>> GetValueAction(int i)
    {
        return new KeyValuePair<int, string>(i, i.ToString());
        //return ClassLibraryService.RandomValue.GetRandomValue(i);
    }

我希望它返回值来填充字典。

标签: c#castingfunc

解决方案


这将返回一个KeyValuePair

return new KeyValuePair<int, string>(i, i.ToString());

你想返回Func它的一个 -tion:

return () => new KeyValuePair<int, string>(i, i.ToString());

推荐阅读