2 votes

Fonction renvoyant un type de données différent

Je viens de trouver le snippet suivant :

Public Function Checked() As Boolean
      Return applyChange 'C'est une chaîne de caractères !
End Function

Que se passe-t-il ici ? Comment une fonction avec un type de retour Boolean peut-elle en fait renvoyer une string ? Je suppose qu'il y a une conversion implicite en cours ici, que je préférerais ne pas avoir. Est-ce que je manque une option de compilation ?

Ceci est .NET 1.0.

5voto

Cody Gray Points 102261

Vous manquez de l' Option Strict option de compilation. Vous le trouverez dans la fenêtre des Propriétés de votre projet, sous l'onglet "Compiler". Avec cette option activée, vous obtenez l'erreur suivante:

    Option Strict On interdit les conversions implicites de 'String' à 'Boolean'.

Et je suggère d'activer cette option immédiatement et de résoudre toutes les erreurs de compilation résultantes. Convertir d'une String à un Boolean est une proposition risquée. Dans le cas où applyChange est réellement défini sur une chaîne comme "Hello" (au lieu de "True" ou "False"), vous obtiendrez l'erreur d'exécution suivante:

La conversion de la chaîne "Hello" en type 'Boolean' n'est pas valide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X