c # — добавить Mono внутренний вызов, где строка передается по ссылке

Я пытаюсь создать метод, используя моно, где строка передается по ссылке,
вот тестовый код, который у меня есть:

C ++:

static bool p_TestMethod(int num, MonoString ** response) {

auto b = mono_string_new(mono_domain_get(), "Test repsonse");
response = &b;

return true;
}
//...
mono_add_internal_call("SharpCode.TestClass::Testmethod", p_TestMethod);

C #:

    [MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool Testmethod(int num, out string response);

public bool RunTheTest()
{
string x;
Testmethod(0, out x);
Console.WriteLine("Test: {0}", x);

return true;
}

Но ответ не печатается (только Test:)

Как правильно передать строку по ссылке, используя Mono?

1

Решение

Исправлено, делая это так:

*response = mono_string_new(mono_domain_get(), "Test repsonse");

как предложено Делнаном

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]