C#泛型类型推断
问题:
在涉及泛型方法的场景中,即使有足够的信息,C#类型推断也无法确定正确的泛型参数。
疑问:
为什么编译器在这种特定情况下难以推断泛型参数?
解答:
C#中的类型推断仅基于传递给泛型方法的参数以及相应形式参数的类型。在推断过程中,不会考虑为泛型类型定义的约束。
在本例中,编译器无法推断类型参数,因为代码将IQuery
为了解决这个问题,必须在调用Process时显式指定泛型参数,如下所示:
<code class="language-csharp">p.Process<SomeQuery, string>(query);</code>
以上是为什么 C# 泛型类型推断在信息足够的情况下会失败?的详细内容。更多信息请关注PHP中文网其他相关文章!