gpt4 book ai didi

c#-4.0 - 为什么使用命名参数时这段 C# 代码不能编译?

转载 作者:行者123 更新时间:2023-12-04 21:49:11 26 4
gpt4 key购买 nike

莫名其妙。

class Test
{
void Main()
{
F(() => ""); // ok
F(named: () => ""); // 'T' cannot be inferred from the usage!
F<string>(() => ""); // ok
F<string>(named: () => ""); // ok
}

void F<T>(Func<T> named) { }
}

有人能告诉我为什么对 F 的第二次调用无法编译吗?

(请注意,这是一个明显精简的示例,这就是为什么它看起来是合成的。在我遇到的实际情况中,在“命名”之前有一些默认参数,因此需要命名参数。因此,显然是明确的规范来电者的'T'。)

最佳答案

似乎编译器的委托(delegate)类型推断存在不足......对不起,我不能提供更多。

关于c#-4.0 - 为什么使用命名参数时这段 C# 代码不能编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com