Maison > développement back-end > C++ > Pourquoi l'inférence de type générique C# échoue-t-elle avec suffisamment d'informations ?

Pourquoi l'inférence de type générique C# échoue-t-elle avec suffisamment d'informations ?

Barbara Streisand
Libérer: 2025-01-23 09:37:09
original
607 Les gens l'ont consulté

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

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 (c'est-à-dire SomeQuery) comme paramètre à Process, mais Process lui-même est défini comme Process, sans spécifier contraintes.

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal