title: how to make a C# struct to be compatible with both x86 and x64 without using macro?
body: <p>considering the following code, is there any way to get rid of #if #else #endif macro? make the struct compatible with x86 and x64 system!</p>
  
  <pre><code>    public struct SP_INTERFACE_DEVICE_DATA
  {
      #if bit32
      public int cbSize;
      #else
      public Int64 cbSize;
      #endif
      public GUID InterfaceClassGuid;
      public int Flags;
      public int Reserved;
  }
  </code></pre>
  
  <p>I tried to make two struct but it fails because the complexity of the current code is overwhelming. </p>
  
  <p>this struct is used by some api that import from dll by using DllImporting</p>