C++嵌套结构体带数组 转C#

下面的c++代码怎么转为C#代码呢,求大神指点
C++代码:
struct can_frame {
uint32 can_id;

uchar can_dlc;
uchar __pad;

uchar __res0;

uchar __res1;

uchar data[8];
};

typedef struct tagZCAN_Transmit_Data
{
can_frame frame;
UINT transmit_type;
}ZCAN_Transmit_Data;

int main()
{
ZCAN_Transmit_Data can_data;
can_data.frame.can_id =1
can_data.frame.can_dlc =8
can_data.transmit_type = 0_;
result = ZCAN_Transmit(channel_handle_, &can_data, 1);
}

类似这个
https://blog.csdn.net/shinezhl/article/details/41411699

[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
char data;