调用C++ 类的方法是需要将定义的结构体转换为IntPtr 在调用Marshal.StructureToPtr方法进行转换时抛出未找到ExceptionWrapper.cs的异常信息
c#
结构体定义
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct Connect
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
public char[] IPAddress;
public int port;
};
转换方法
public static IntPtr StructToIntPtr(T info)
{
int size = Marshal.SizeOf(info);
IntPtr intPtr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(info, intPtr, true);
return intPtr;
}
调用
public static void CnnectedIGS(string Ipaddress)
{
Connect connect = new Connect();
connect.IPAddress = Ipaddress.ToCharArray();
connect.port = 1234;
IntPtr ptr = StructToIntPtr(connect);
}
本人实在是找不出问题出在什么地方 还望各位予以指正 谢谢