Практическое руководство. Сохранение ссылки на тип значения в собственном типе

Используйте 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);
}
String in V: Hello

См. также

Использование взаимодействия языка C++ (неявный PInvoke)