Partager via


'Optional' ne peut pas être appliqué au premier paramètre d'une méthode d'extension

Mise à jour : novembre 2007

Message d'erreur

'Optional' ne peut pas être appliqué au premier paramètre d'une méthode d'extension. Le premier paramètre spécifie le type à étendre.
'Optional' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend.

Le premier paramètre d'une méthode d'extension spécifie le type de données qu'elle étend. Lorsque la méthode est exécutée, le premier paramètre est lié à l'instance du type de données qui appelle la méthode. Par conséquent, le premier paramètre est obligatoire et ne peut pas être optionnel.

La restriction ne s'applique qu'au premier paramètre. D'autres paramètres peuvent être facultatifs ou pas, selon les mêmes règles que pour toute autre méthode. Pour plus d'informations, consultez Liste de paramètres.

ID d'erreur : BC36553

Pour corriger cette erreur

  • Si vous souhaitez que le premier paramètre actuel spécifie le type de données qui est étendu, supprimez le mot clé Optional.

  • Si le premier paramètre en cours est un paramètre standard pour cette méthode et si vous ne souhaitez pas qu'il représente le type de données étendu, ajoutez un nouveau premier paramètre.

Exemple

Le premier paramètre de l'exemple suivant est la seule indication que la méthode Print étend le type de données String. Par conséquent, il ne peut pas être facultatif.

<Extension()>
Public Sub Print (ByVal str As String)
    Console.WriteLine(str)
End Sub

Lorsque la méthode d'extension est appelée comme suit, le paramètre str de la méthode est lié à greeting, l'instance de String qui appelle Print. Le compilateur utilise greeting comme argument de la méthode d'extension Print.

    Dim greeting As String = "Hello"
    greeting.Print()

Voir aussi

Tâches

Comment : définir des paramètres optionnels pour une procédure

Concepts

Méthodes d'extension (Visual Basic)

Paramètres facultatifs