怎样为在Struct中为二维数组设定SizeConst
各位大侠:
小弟遇到一个问题,我定义的Struct如下
[StructLayout(LayoutKind.Sequential)]
public struct SCommPackage
{
public UInt16 Channel;
public UInt16 sChannel;
public UInt16 CommEvent;
public Int16 Parameter;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=10)]
public Int16[] iData;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=320)]
public char[,] sData;
}
执行下面的代码时会出错,从结构体中去掉那个二维数组则没有问题
this.package = new SCommPackage();
int size = Marshal.SizeOf(this.package);
我想应该是SizeConst设置的问题,但不知道如何解决,
欢迎各位大侠前来指教。