"Dynamic Type Using Reflection.Emit" by Abhishek Sur [
^].
You can create new Objects of any Type at run-time using Reflection and the System.Reflection.Emit namespace; however this is a pain in the butt to do (not something I've had a requirement to do, so far), and computationally expensive.
Another route to explore for code-generation is T4 templates:
"Using T4 Templates to generate custom strongly-typed code in Visual Studio" by Inaki Ayucar [
^].