You*_*jae 8 c# lambda func task-parallel-library
我需要更深入地了解Func类型表达式.
public class TheResult : IResultEntry {
...
}
Run Code Online (Sandbox Code Playgroud)
上面的类,为什么下面的第二种方法需要演员?
我当然可以阅读错误信息,但很难理解.
// Success
public Task<IResultEntry> ProcessAsync_1()
{
return Task.Factory.StartNew(() => (IResultEntry) new TheResult());
}
// Fail: Compiler error. Cannot implicitly convert...
public Task<IResultEntry> ProcessAsync_2()
{
return Task.Factory.StartNew(() => new TheResult());
}
Run Code Online (Sandbox Code Playgroud)
如果我们在ReSharper的帮助下将其更改为命名方法,我们可以不进行强制转换.
public Task<IResultEntry> ProcessAsync_2_Changed()
{
return Task.Factory.StartNew(function);
}
private IResultEntry function()
{
return new TheResult();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
56 次 |
最近记录: |