Inférence de type générique C#
Question :
Dans les scénarios impliquant des méthodes génériques, l'inférence de type C# ne peut pas déterminer les paramètres génériques corrects même lorsque les informations sont suffisantes.
Question :
Pourquoi le compilateur a-t-il du mal à déduire des paramètres génériques dans ce cas précis ?
Réponse :
L'inférence de type en C# est basée uniquement sur les paramètres transmis aux méthodes génériques et les types des paramètres formels correspondants. Les contraintes définies pour les types génériques ne sont pas prises en compte lors de l'inférence.
Dans ce cas, le compilateur ne peut pas déduire les paramètres de type car le code transmet une instance de IQuery
Pour résoudre ce problème, les paramètres génériques doivent être explicitement spécifiés lors de l'appel de Process, comme indiqué ci-dessous :
<code class="language-csharp">p.Process<SomeQuery, string>(query);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!