title: C# Struct No Parameterless Constructor? See what I need to accomplish
body: <p>I am using a struct to pass to an unmanaged DLL as so -</p>
  
  <pre><code>[StructLayout(LayoutKind.Sequential)]
          public struct valTable
          {
              public byte type;
              public byte map;
              public byte spare1;
              public byte spare2;
              public int par;
              public int min;
              public byte[] name;
              public valTable()
              {
                  name = new byte[24];
              }
          }
  </code></pre>
  
  <p>The code above will not compile because VS 2005 will complain that "Structs cannot contain explicit parameterless constructors". In order to pass this struct to my DLL, I have to pass an array of struct's like so <code>valTable[] val = new valTable[281];</code> </p>
  
  <p>What I would like to do is when I say <code>new</code>, the constructor is called and it creates an array of bytes like I am trying to demonstrate because the DLL is looking for that byte array of size 24 in each dimension.</p>
  
  <p>How can I accomplish this?</p>