如何解决故障排除:为什么输入推断在这里没有失败?
| 给定一个声明的类型,如下所示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,\"Probe machine is online\")
我的理解是类型推断不适用于方法组(例如CanConnectToMachine)或匿名方法(lambda表达式)。
但是在这种情况下,编译器为什么不从第二个参数推断出类型参数解决方法
C#不支持构造函数的类型推断,尽管通常可以通过使用工厂类来克服。
请在此处查看答案:为什么C#构造函数无法推断类型?,好吧,C#就是这样!它确实为构造函数推断。在实例化泛型类型时,您需要指定将用于泛型类型的类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。