C#泛型型別推論
問題:
在涉及泛型方法的場景中,即使有足夠的信息,C#類型推論也無法確定正確的泛型參數。
疑問:
為什麼編譯器在這種特定情況下難以推斷泛型參數?
解答:
C#中的類型推論僅基於傳遞給泛型方法的參數以及對應形式參數的類型。在推論過程中,不會考慮為泛型類型定義的約束。
在本例中,編譯器無法推斷類型參數,因為程式碼將IQuery
為了解決這個問題,必須在呼叫Process時明確指定泛型參數,如下所示:
<code class="language-csharp">p.Process<SomeQuery, string>(query);</code>
以上是為什麼 C# 泛型類型推斷在資訊足夠的情況下會失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!