public struct OneError_t
    {
        public UInt16 uErrCode;
        public UInt16 uSysCode;
        public UInt16 uVehicle;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst=5)]
        public UInt16[] uParam;
    }
有上述结构体,其值来自调用某C++写的DLL的返回值,如果把这个结构体包装在一个类里面,那么返回其变量uParam的值的属性改怎么定义?直接写 public Uint16[] Param { get; }可以么?多谢!

解决方案 »

  1.   


                public UInt16[] Param { get { return uParam; } }
    这样??没什么意义啊  uParam本身就public了.
      

  2.   

    哎~~你就这样下把  struct 为结构体也可以说是值类型.... 不是非托管类型.
      

  3.   

            [MarshalAs(UnmanagedType.ByValArray, SizeConst=5)]
            public UInt16[] uParam;可是里面的uParam不是这样声明的么?