title: C# How to create objects without class definitions?
body: <p>Is it possible to create objects at designtime without having to have hard coded class definitions, then populate properties with primitives or even strongly typed data types?</p>
  
  <p>This might sound confusing, so I will attempt to give you a use case scenario. </p>
  
  <p><strong>Use case:</strong></p>
  
  <p>You have an <code>XML</code> config file that could hold configuration values for connecting to various systems in an <code>SOA</code> application. In C# the <code>XML</code> file is read, but for each system the configuration properties are different (e.g: SQL might have a connection string, while SharePoint might need a username + password + domain + url, while yet an smtp server would need username + password + port + url) </p>
  
  <p>So instead of creating static classes as follows</p>
  
  <p><code>public class SharePointConfiguration</code> or <code>public class SQLConfiguration</code>, then have each class with custom properties (this is cumbersome) </p>
  
  <p>or </p>
  
  <p>using a 1990's method, an <code>ArrayList</code> or some named collection</p>
  
  <p>Is there not a more preferred way to achieve this? Taking advantage of new language features, that can still offer design time intellisense, which would make the code easier to maintain and less prone to error.   </p>
  
  <p>I guess I am looking for some kind of multipurpose .net 4 property holder. 
  Thanks</p>