Когда я начал использовать C #, я не был уверен, как именно обрабатываются ссылки (передаются ли они по значению и т. Д.). Я ошибочно полагал, что ключевое слово 'ref' было необходимо при передаче объектов, которые будут изменены вызываемым методом.
Затем, прочитав темы типа this , я понял, что ref нужен только тогда, когда вам нужно изменить саму ссылку / указатель.
Но сегодня я столкнулся с проблемой при передаче параметра через удаленный вызов, когда ref фактически был необходим для изменения содержимого объекта. Когда прошло без ссылки, объект вернулся без изменений. Мне сказали добавить ключевое слово ref, но я некоторое время утверждал, что это было необходимо только при изменении самого указателя, а не содержимого, на которое указывает указатель.
Я искал в сети и смог найти только одну страницу , в которой это кратко обсуждается. Является ли это известной проблемой, и может ли кто-нибудь указать на нее документацию? Мне кажется, что теперь мне придется использовать ref для любого параметра, который изменяется с помощью удаленного вызова.