Alexey Levenkov wrote a wonderful answer in the comments, so I decided to accept the content and rephrase them to answer my question. Link to the original Q and A.
Its a little thick, but here is the answer:
Structures do not necessarily contain constructors without parameters. They may have one, but C # does not emit one, and the compiler does not require it. The C # standard talks about all types of values ββthat have an βimplicit public constructor without parameters, called the default constructor,β but he later notes that implementations are not required to create constructor calls and that the calls work as if they were constructors, although they are not necessarily designers.
The reason that reflection cannot find the constructor method is because it does not actually exist. The CLR will allow you to instantiate without a constructor and fill zero the memory cells that the object contains.
Update: I would like to note that Jon Skeet also answered a question related to this here
source share