I have the following code in C++ which I need to be able to call from C#:
struct Inner
{
double data1;
double data2;
};
struct Outer
{
double data3;
SAF
Did you try this?
[StructLayoutAttribute (LayoutKind.Sequential)]
public struct Outer
{
public double data3;
[MarshalAsAttribute (UnmanagedType.SafeArray, SafeArrayUserDefinedSubType=typeof(Inner))]
public Inner [] innerData;
}
It looks as if the attribute declaration is not correct as its refusing to compile...
[StructLayoutAttribute(LayoutKind.Sequential)] public struct Outer { public double data3; [MarshalAsAttribute(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_SAFEARRAY)] public Inner[] innerData; }
Hope this helps, Best regards, Tom.