CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

求一段VB代码的C#表达

楼主mumuliang(CR苏杭)2006-02-23 14:46:16 在 .NET技术 / VB.NET 提问

 
          <StructLayout(LayoutKind.Sequential,   CharSet:=CharSet.Unicode,   Pack:=1,   Size:=1072)>   _  
            Structure   tStatus  
                  Public   error_code,   msg   As   Int16  
                  Public   percent,   file_size,   elapsed_time   As   Int32  
                  <MarshalAs(UnmanagedType.ByValTStr,   SizeConst:=260)>   _  
                  Public   file_name,   opoen_file_name   As   String  
                  Public   current_packet,   total_packets,   total_packet256s   As   Int32  
          End   Structure  
   
  主要是看不懂<>内的东西。翻译的同时烦请解释一下意思。谢了 问题点数:20、回复次数:4Top

1 楼mumuliang(CR苏杭)回复于 2006-02-23 16:04:41 得分 0

[StructLayout(LayoutKind.Sequential,   CharSet=CharSet.Unicode,   Pack=1,   Size=1072)]    
  public   struct   tStatus  
  {  
  public   short   error_code,   msg   ;  
                  public   int   percent,   file_size,   elapsed_time;  
  [MarshalAs(UnmanagedType.ByValTStr,   SizeConst=260)]  
  public   string   file_name,   open_file_name;  
                  public   int   current_packet,   total_packets,   total_packet256s;  
   
  }Top

2 楼Tony8002003(冷)回复于 2006-02-23 16:20:18 得分 15

StructLayout:平台调用示例说明如何调用从非托管库导出的函数:如何声明不同的类型;如何使用可用的属性来修改默认行为;如何在需要时使用   Marshal   类的方法;以及垃圾回收和线程的哪些方面会影响结果。  
   
  MarshalAs:通过向程序元素(如属性、方法、事件、类和程序集)添加特性块来应用特性。特性块由尖括号(“<   >”)组成,其中包含逗号分隔的特性声明列表。特性声明由可选特性修饰符(如   Module   或   Assembly)、特性名称、所需的定位参数列表(可能重载)和可选命名参数列表组成。必须将带有修饰符的特性放在源文件顶部的特性部分中  
   
  转换如下:  
  Structure   tStatus  
                  Public   error_code,   msg   As   Int16  
                  Public   percent,   file_size,   elapsed_time   As   Int32  
                  <MarshalAs(UnmanagedType.ByValTStr,   SizeConst:=260)>   _  
                  Public   file_name,   opoen_file_name   As   String  
                  Public   current_packet,   total_packets,   total_packet256s   As   Int32  
          End   Structure  
   
   
  [StructLayout(LayoutKind.Sequential,   CharSet=CharSet.Unicode,   Pack=1,   Size=1072)]   public   struct   tStatus  
  {  
      int   error_code,   msg   ;  
      int   percent,   file_size,   elapsed_time;  
      [MarshalAs(UnmanagedType.ByValTStr,   SizeConst=260)]  
      string   file_name,   open_file_name;  
      int   current_packet,   total_packets,   total_packet256s;  
  }  
   
  Top

3 楼ilove8(千里|你去哪里了,我等了你很久了!)回复于 2006-02-23 16:28:10 得分 5

<StructLayout(LayoutKind.SequentialCharSet=CharSet.Unicode,   Pack=1,   Size=1072)>   _    
  Public   Structure   tStatus    
    Public   error_code   As   Short    
    Public   msg   As   Short    
    Public   percent   As   Integer    
    Public   file_size   As   Integer    
    Public   elapsed_time   As   Integer    
    <MarshalAs(UnmanagedType.ByValTStrSizeConst=260)>   _    
    Public   file_name   As   String    
    <MarshalAs(UnmanagedType.ByValTStrSizeConst=260)>   _    
    Public   open_file_name   As   String    
    Public   current_packet   As   Integer    
    Public   total_packets   As   Integer    
    Public   total_packet256s   As   Integer    
  End   StructureTop

4 楼mumuliang(CR苏杭)回复于 2006-03-01 09:49:03 得分 0

楼上的回帖不看贴Top

相关问题

  • C#代码转化成vb
  • c# 的代码vb应该咋写啊?
  • 下面代码的vb代码如何用c#来替换?
  • 我要将一段C++代码转成VB代码(指针, VC++, VB, Windows API)
  • 我要将一段C++代码转成VB代码(指针, VC++, VB, Windows API)
  • 请问这样的代码在C# 中如何表达?
  • 有用 C语言 实现的正则表达式代码?
  • 你有用 C语言 实现的正则表达式代码?
  • 谁帮我把vb代码转换成c#代码,100分相送。在线等。
  • 把C#代码改写为VB代码的问题(关于OnInit的).

关键词

  • code
  • tstatus
  • 特性
  • packet
  • elapsed
  • percent
  • total
  • structlayout
  • structure
  • marshalas

得分解答快速导航

  • 帖主:mumuliang
  • Tony8002003
  • ilove8

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo