using System.Runtime.InteropServices; namespace CppWrapper.Objects { [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct ApplicationStruct { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] public ulong[] ServerIds; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)] public string Prefix; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 71)] public string Token; } [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct ComplexObject { public int Integer; public double DoubleValue; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string strValue; public ComplexObject(int integer, double doubleValue, string strValue) { Integer = integer; DoubleValue = doubleValue; this.strValue = strValue; } } }