Практическое руководство. Сохранение ссылки на тип значения в собственном типе
Для сохранения ссылки на тип значения в собственном типе следует использовать ключевое слово gcroot применительно к упакованному типу.
Пример
// reference_to_value_in_native.cpp
// compile with: /clr
#using <mscorlib.dll>
#include <vcclr.h>
using namespace System;
public value struct V {
String ^str;
};
class Native {
public:
gcroot< V^ > v_handle;
};
int main() {
Native native;
V v;
native.v_handle = v;
native.v_handle->str = "Hello";
Console::WriteLine("String in V: {0}", native.v_handle->str);
}