Maison >développement back-end >C++ >Comment résoudre les erreurs « La valeur de type « T » ne peut pas être convertie » dans les méthodes génériques C# ?
Résolution de l'erreur "La valeur de type 'T' ne peut pas être convertie" dans le casting générique
Messages d'erreur du formulaire "Valeur de type ' T'ne peut pas être converti en" peut survenir lors de la tentative de conversion d'un paramètre de type générique en un type spécifique dans un type générique. méthodes.
Considérez la méthode suivante :
T HowToCast<T>(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; }
Ce code tente de convertir la variable d'entrée t en chaîne si le paramètre générique T est de type chaîne. Cependant, le compilateur génère des erreurs en raison des limitations suivantes :
Pour résoudre ce problème, le casting doit utiliser les deux étapes suivantes approche :
Le corrigé le code est :
T newT1 = (T)(object)"some text"; string newT2 = (string)(object)t;
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!