首页 热点专区 义务教育 高等教育 出国留学 考研考公

C#如何封装C++嵌套结构体,是结构体里面嵌套了多个结构体

发布网友

我来回答

2个回答

热心网友

看你的定义里有数组,有Struct嵌套,给你的例子参考:C++: typedef struct{
BYTE ByteV[10];
} StructA;

typedef struct
{
BYTE ByteV[10];
StructA StructAs[20];

} StructB;

C#: [StructLayout(LayoutKind.Sequential, Pack=1, CharSet=CharSet.Ansi)]
public struct StructA
{
[ MarshalAs( UnmanagedType.ByValArray, SizeConst=10)]
public byte[] ByteV;
};

[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Ansi)]
public struct StructB
{
[ MarshalAs( UnmanagedType.ByValArray, SizeConst=10)]
public byte[] ByteV;

[ MarshalAs( UnmanagedType.ByValArray, SizeConst=20)]
public StructA[] StructAs;
};

-手写的,仅供参考

热心网友

在Visual C++里添加如下程序:
struct A
{
    int a;
    struct B * b;
};

struct B
{
     int b;
     struct A * a;
};

struct C
{
     int c;
    struct B * b;
     struct A * a;
};

..........

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com