Hi,将一个VC6程序移植到C#,
1. 宏定义
   #define TEST_DEFINE( x, s, d) { \
     ....}
   怎么改? 宏定义常数倒可以改为const...2. struct 如
   typedef struct 
   {
     unsigned long sta[4];
   } MY_CONTEXT;
   改为
   class MY_CONTEXT
   {
     public uint sta[4];
   } 
   却编译不过.难道不能有数组型成员?谢谢帮助!

解决方案 »

  1.   

    从 C++ 向 C# 迁移
    http://www.microsoft.com/china/msdn/library/langtool/vcsharp/macroad07102002.mspx
      

  2.   

    你可以在C#直接调用VC6的DLL :
    http://www.microsoft.com/china/msdn/library/langtool/vcsharp/ousNET.mspx
      

  3.   

    你可以直接调用WIN32 DLL:
    http://www.microsoft.com/china/msdn/library/langtool/vcsharp/ousNET.mspx
      

  4.   

    1、对于函数的宏定义,只能通过定义一个新的函数解决(这种宏的作用在C#没法体现)
    2、可以有数组成员但不能使定长数组,改成public uint[4] sta;,注意这样的话这个字段就是个数组的引用而不是值
      

  5.   

    public uint[4] sta; ->> public uint[] sta;