正在做个程序:是将C++程序做成C#,因为C#一些功能更易实现,遇到困难请教各位大师:
如何将下面的程序转换成C#的,请写出代码
typedef struct {
wxString V1;
wxString V2;
wxString V3;
} parameters;

解决方案 »

  1.   

    public struct Params
    {
        string V1;
        string V2;
        string V3;
    }Params p = new Params();
      

  2.   


    public struct parameters
    {
        public wxString V1;
        public wxString V2;
        public wxString V3;
    };如果想定义别名:
    using parameters_2 = parameters
      

  3.   

    楼主,是用C#调用C++的dll吧,C++的结构体转为C#的结构体,无须关心它的别名,互操作关心的是两边结构体大小和顺序的一致!名称不一样都没关系!给个例子:
    C++:
    typedef struct tagPlayFile // 播放文件 
      { 
      int fid; // 文件序号(序号小于 0则取全路径) 
      char fname[100]; // 文件名或全路径名 
      } PlayFile, *LPPlayFile;  C#:[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
    public struct tagPlayFile // 播放文件 
      { 
      int fid; // 文件序号(序号小于 0则取全路径) 
      [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 100)]
      string fname; // 文件名或全路径名 
      }