Partager via


La variable « <nom_variable> » est transmise par référence avant qu’une valeur lui ait été attribuée (variable de structure)

La variable « <nom_variable> » est transmise par référence avant qu’une valeur lui ait été attribuée. Cela peut provoquer une exception de référence null au moment de l’exécution. Vérifiez que la structure et tous les membres de référence sont initialisés avant leur utilisation

Un appel de procédure passe une variable de structure en tant qu’argument à un paramètre ByRef avant l’assignation d’une valeur à la variable.

Si une valeur n’a jamais été assignée à une variable de structure, chaque membre de structure contient la valeur par défaut pour son type de données. Pour un type de données référence, cette valeur par défaut est Nothing. La lecture d’un membre de référence avec la valeur Nothing peut entraîner une exception NullReferenceException dans certaines circonstances.

Quand un argument est passé à une procédure ByRef , cette dernière peut apporter des modifications à la variable sous-jacente à l’argument.

Par défaut, ce message est un avertissement. Pour plus d’informations sur le masquage des avertissements ou le traitement des avertissements en tant qu’erreurs, consultez Configuring Warnings in Visual Basic.

ID d’erreur : BC42108

Pour corriger cette erreur

  • Si vous souhaitez que la procédure affecte des valeurs aux membres de structure par le biais de l’argument ByRef et qu’il vous importe peu que les membres contiennent déjà des valeurs, aucune action n’est nécessaire.

  • Si la logique de la procédure lit un membre de structure avant de lui assigner une valeur et que le membre est un type valeur, vérifiez que la logique de la procédure ne dépend pas de la présence ou non dans le membre de sa valeur par défaut.

  • Si la logique de la procédure lit un membre de structure avant de lui assigner une valeur et que le membre est un type référence, vérifiez que la logique de la procédure peut gérer une valeur Nothing. Par exemple, il peut utiliser un instruction Try... Catch... Finally pour intercepter un NullReferenceException.

Voir aussi