Определение структуры в C#
При определении вашей структуры в C# убедитесь, что вы используете типы данных, которые соответствуют реализации C++. Char в C++, как байты в C# и т.д. ...
Вы должны добавить некоторые атрибуты для обеспечения вашей структуры макет памяти в C# соответствует C реализация
[StructLayout(LayoutKind.Sequential, Size=TotalBytesInStruct),Serializable]
public struct MyStruct
{
}
++ Проходя мимо STRUCT
Declare struct в C#, используя ту же структуру данных. Передайте указатель на структуру вашего приложения C# из C++ и переведите его в новую структуру на C#.
Вызов вам C# DLL
Для вызова вашего C# DLL, лучшим вариантом является использование смешанного режима сборки в C++. Это позволяет использовать прагмы managed
и unmanaged
для переключения между собственным и управляемым кодом. Таким образом, вы можете красиво обернуть класс C# с помощью рабочей оболочки C++. См. Это Microsoft article. Помните, однако, это не поддерживается Mono.