- Как передать ссылку на ManagedClass, на которую я ссылаюсь с помощью gcroot, другому управляемому классу в управляемом модуле?
Просто передайте gcroot. У gcroot есть оператор преобразования в содержащийся T ^.
- Может ли что-то пойти не так, когда я обновляю ManagedClass в управляемом модуле?
Ничего касающегося не приходит на ум.
Например, может ли сборщик мусора переместить его в память, чтобы дескриптор, обернутый gcroot, больше не действовал?
Нет. Gcroot оборачивает «дескриптор» - это не прямой указатель, поэтому, если сборщик мусора перемещает указанный объект, дескриптор (удерживаемый gcroot) будет обновлен, чтобы узнать новое местоположение. Таким образом, gcroot все еще будет действителен.