给定一个如下所示声明的类型
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# - 故障排除 : Why doesn't type inference fail here?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5725938/