Lorsque j'ai commencé à utiliser C#, je ne savais pas exactement comment les références étaient traitées exactement (qu'elles soient transmises par valeur, etc.). J'ai pensé à tort que le mot-clé 'ref' était nécessaire lors du passage d'objets qui seraient modifiés par la méthode appelée.Mot-clé 'ref' et AppDomains
Ensuite, après avoir lu des threads comme this, j'ai réalisé que 'ref' n'était nécessaire que lorsque vous avez besoin de changer la référence/le pointeur lui-même.
Mais aujourd'hui, j'ai rencontré un problème lors du passage d'un paramètre via un appel à distance, où ref était réellement nécessaire pour modifier le contenu de l'objet. Quand passé sans ref, l'objet est revenu inchangé. On m'a dit d'ajouter le mot-clé ref, mais j'ai soutenu pendant un moment que c'était seulement nécessaire lorsque vous changiez le pointeur lui-même, pas le contenu qui est pointé vers.
J'ai cherché sur le net et je n'ai trouvé qu'un single page qui le décrit brièvement. Est-ce un problème connu et quelqu'un peut-il pointer vers une documentation à ce sujet? Il me semble que je devrais utiliser ref maintenant pour tout paramètre qui est en cours de modification via un appel à distance.
Je suis à peu près sûr que les services web SOAP (asmx) et WCF vont gérer "ref" comme vous le souhaitez, en le faisant fonctionner dans les deux sens. –