C#如何封装这样的一个C++结构体

有这么一个C++结构体

typedef struct BY_BITMAP
{
    sint32 biWidth;      //图像宽度
    sint32 biHeight;     //图像高度
    sint32 biBitCount;   //颜色深度
    sint32 bfSize;       //位图缓冲区长度
    sint32 BytesPerLine; //一行位图数据所占的字节数
    char **ScanLine;    //行索引
    int *buffer;       //图像缓冲区
}BY_BITMAP;

如何封装成C#结构体?


智慧大石
浏览 472回答 2
2回答

GCT1015

您可以试试名叫“PInvoke Signature Toolkit”的工具,微软出品。下面是这个工具转换的结果:[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]public struct BY_BITMAP {        /// int    public int biWidth;        /// int    public int biHeight;        /// int    public int biBitCount;        /// int    public int bfSize;        /// int    public int BytesPerLine;        /// char**    public System.IntPtr ScanLine;        /// int*    public System.IntPtr buffer;}不知道你的sint32具体是什么类型,我暂且用int代替。

缥缈止盈

楼上的属性应该改下吧 ,他要封装 所以应该这么写吧public sealed struct BY_BITMAP{}
打开App,查看更多内容
随时随地看视频慕课网APP