Generischer C#-Typ-Inferenz
Frage:
In Szenarien mit generischen Methoden kann die C#-Typinferenz die richtigen generischen Parameter nicht ermitteln, selbst wenn ausreichende Informationen vorhanden sind.
Frage:
Warum hat der Compiler in diesem speziellen Fall Schwierigkeiten, generische Parameter abzuleiten?
Antwort:
Typinferenz in C# basiert ausschließlich auf den an generische Methoden übergebenen Parametern und den Typen der entsprechenden formalen Parameter. Für generische Typen definierte Einschränkungen werden bei der Inferenz nicht berücksichtigt.
In diesem Fall kann der Compiler die Typparameter nicht ableiten, da der Code eine Instanz von IQuery
Um dieses Problem zu lösen, müssen die generischen Parameter beim Aufruf von Process explizit angegeben werden, wie unten gezeigt:
<code class="language-csharp">p.Process<SomeQuery, string>(query);</code>
Das obige ist der detaillierte Inhalt vonWarum schlägt die generische C#-Typinferenz bei ausreichenden Informationen fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!