Heim > Backend-Entwicklung > C++ > Warum schlägt die generische C#-Typinferenz bei ausreichenden Informationen fehl?

Warum schlägt die generische C#-Typinferenz bei ausreichenden Informationen fehl?

Barbara Streisand
Freigeben: 2025-01-23 09:37:09
Original
607 Leute haben es durchsucht

Why Does C# Generic Type Inference Fail with Sufficient Information?

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 (d. h. SomeQuery) als Parameter an Process übergibt, Process selbst jedoch ohne Angabe als Process definiert ist Einschränkungen.

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage