Passage de paramètres
Mise à jour : novembre 2007
Les paramètres de méthode peuvent être passés par valeur, par référence ou en tant que paramètres de sortie (out). Lorsqu'un paramètre est passé par valeur, la méthode obtient une copie des données de l'appelant et ne peut pas modifier la copie des données de l'appelant. Lorsqu'un paramètre est passé par référence, la méthode obtient un pointeur vers les données de l'appelant. Ces données sont partagées avec l'appelant. Si la méthode apporte des modifications à un paramètre de référence, les modifications sont apportées aux données de l'appelant. Lors de l'utilisation d'un paramètre de référence, l'état initial des données peut être utilisé par la méthode. Un paramètre de sortie (out) est semblable à un paramètre de référence à la seule différence que les paramètres de sortie sont utilisés exclusivement pour retourner des données à l'appelant tandis que les paramètres de référence peuvent être utilisés tant pour passer des données dans la méthode que pour recevoir des données de la méthode.
Évitez d'utiliser des paramètres de référence ou de sortie.
L'utilisation de membres qui définissent des paramètres de référence ou de sortie exige du développeur qu'il soit familiarisé avec les pointeurs, les différences entre les types valeur et les types référence ainsi que les différences d'initialisation entre les paramètres de référence et de sortie.
Ne passez pas les types référence par référence
Le passage d'un objet par référence autorise la méthode à remplacer l'objet par une instance différente. Dans la plupart des scénarios, la méthode doit utiliser l'objet fourni et ne doit pas être autorisée à le remplacer. Il existe quelques rares exceptions à cette règle (par exemple une méthode utilisée pour permuter des références).
Portions Copyright 2005 Microsoft Corporation. Tous droits réservés.
Portions Copyright Addison-Wesley Corporation. Tous droits réservés.
Pour plus d'informations sur les instructions de conception, consultez le livre « Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries » de Krzysztof Cwalina et Brad Abrams, publié par Addison-Wesley, 2005.
Voir aussi
Concepts
Autres ressources
Instructions de conception des membres
Instructions de conception pour le développement de bibliothèques de classes