title: Converting C (not C++) to C#
body: <p>I have some old C 32 Bit DLLs that are using Oracle's Pro C precompiler library (proc.exe) to expose a hundred or so sproc/func calls to an even older VB6 GUI which references these functions through explicit Declare statements like so:</p>
  
  <pre><code>Declare Function ConnectToDB Lib "C:\windows\system32\EXTRACT32.DLL" (CXN As CXNdets, ERR As ERRdets) As Long
  </code></pre>
  
  <p>All the structures in the C header files are painstakingly replicated in the VB6 front end. At least the SQL is precompiled.</p>
  
  <p>My question is, is it worth trying to impose a .Net interface (by conversion to an assembly) onto the the C code and upgrade the VB6 to C# or do you think I should just abandon the whole thing and start from scratch. As always, time is of the essence hence my appeal for prior experience. I know that if I keep the Declares in .Net I will have to add lots of complicated marshalling decorations which I'd like to avoid.</p>
  
  <p>I've never had to Convert C to .Net before so my main question if everything else is ignored is are there any porting limitations that make this inadvisable?</p>