创建方法委托时,我遇到了一个问题:
D_AmortizationCalsAsync d_AmortizationCalsAsync = AmortizationCalsAsync; // here i have error
public delegate Func<Task<decimal>> D_AmortizationCalsAsync(int amortization, int installmentNumber);
public async Task<decimal> AmortizationCalsAsync(int amortization, int installmentNumber)
{
(...)
}Tak AmortizationCalsAsync (int,int)返回类型错误
https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0407?f1url=%3FappId%3Droslyn%26k%3Dk(CS0407)
发布于 2022-05-30 11:57:59
AmortizationCalsAsync返回一个Task<decimal>,而不是一个Func<Task<decimal>>。如果要将其分配给委托,则需要更改委托的类型:
public delegate Task<decimal> D_AmortizationCalsAsync(int amortization, int installmentNumber);或者使用匿名lambda创建一个具有正确签名和返回类型的函数(即接受2个整数的函数,并返回不带参数的func和Task<decimal>返回类型):
D_AmortizationCalsAsync d_AmortizationCalsAsync =
(a, i) => () => AmortizationCalsAsync(a, i);https://stackoverflow.com/questions/72433890
复制相似问题