У меня есть метод C ++, и он принимает параметр типа double, например
extern "C" {
__declspec(dllexport) void __cdecl GetResult (double resultLine);
}
На стороне C # я могу вызвать метод, но он всегда преобразует значение resultLine в 0. Я вызываю метод C ++ DLL с помощью внешней функции DLLImport:
internal static class UnsafeNativeMethods
{
const string _dllLocation = "CoreDLL.dll";
[DllImport(_dllLocation)]
public static extern void GetResult(double resultLine);
}
Я могу вызвать другие методы, которые принимают строковое значение, и все работает, но по какой-то причине оно не работает, когда я передаю двойное значение.
Это правильный способ передачи двойного значения? или мне нужно использовать ref / out и т. д.