故障排除:为什么输入推断在这里没有失败?

| 给定一个声明的类型,如下所示
public class EqualityProbe<T>
{
  public EqualityProbe( Func<T> functionToGetActualValue, T expectedValue, string probeDescription) {..}
客户代码:
// cannot infer bool here
new EqualityProbe(CanConnectToMachine, true, \"Probe machine is online\")
// compiles fine
new EqualityProbe<bool>(CanConnectToMachine, true, \"Probe machine is online\")
我的理解是类型推断不适用于方法组(例如CanConnectToMachine)或匿名方法(lambda表达式)。 但是在这种情况下,编译器为什么不从第二个参数推断出类型参数
已邀请:
C#不支持构造函数的类型推断,尽管通常可以通过使用工厂类来克服。 请在此处查看答案:为什么C#构造函数无法推断类型?
好吧,C#就是这样!它确实为构造函数推断。在实例化泛型类型时,您需要指定将用于泛型类型的类型。

要回复问题请先登录注册