| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2760 人关注过本帖
标题:新手请教一下C#下的结构体嵌套的问题
取消只看楼主 加入收藏
arding
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-6-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
新手请教一下C#下的结构体嵌套的问题
需要通过串口通信,对方是C++写的程序,通信结构体为
 
  [StructLayout(LayoutKind.Sequential)]
    public struct BT_BLADE_INFO
    {
        public byte state;              
      public byte reserved;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
        public byte[] cpu_tmp;         
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
        public byte[] bld_ip;   
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
        public byte[] bld_netmask;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
        public byte[] bld_gateway;

    }

 [StructLayout(LayoutKind.Sequential)]
    public struct BT_PACKAGE_DWON
    {
        public byte head;
        public byte package_type;
        public short verify_value;      
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
        public BT_BLADE_INFO[] blade_info;
    }

   现在需要把这个结构体转换为byte流进行通信,程序如下:
    BT_PACKAGE_DWON down_package = new BT_PACKAGE_DWON();
    int aaa = Marshal.SizeOf(down_package);

    现在总是报错
    A first chance exception of type 'System.NotSupportedException' occurred in mscorlib.dll
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll

    用Marshal.StructureToPtr也是一样的错误,我的程序是在wince5.0下执行,哪位知道这是为什么?或者说这个嵌套结构体该如何实现?

    谢谢!
搜索更多相关主题的帖子: 嵌套 结构体 
2010-06-08 17:05
arding
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-6-8
收藏
得分:0 
在C++里面是这样的

typedef struct
{
    char state;        // 0: off line; 1: power off; 2: power on; 7: communication lost
    char reserved;
    char cpu_tmp[2];  // temperature: cpu1 & cpu2
    char bld_ip[4];    // ip info: ip[3]. Ip[2]. ip[1]. ip[0]
    char bld_netmask[4];
    char bld_gateway[4];
}BT_BLADE_INFO;

struct bt_package_up
{
char head;
char package_type;
short verify_value;
BT_BLADE_INFO blade_info[10];
}
谢谢版主关注

能解决这种嵌套的结构吗?
2010-06-08 20:04
arding
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-6-8
收藏
得分:0 
谢谢版主
我还是放弃了,用C++做了一个dll来处理。

再次感谢
2010-06-10 14:41
快速回复:新手请教一下C#下的结构体嵌套的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036332 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved