title: Using strings to select Object Properties
body: <p>I'm having a bit of trouble with a C# program I'm writing and it'd be great if someone could help.</p>
  
  <p>The background is this, not terribly important, but it's why I need to figure out how to do it:</p>
  
  <p>I'm using a database's Web Services to retrieve information about an entry in the database. Each access to the database returns an Object with many many properties. Using the ID of the database entry, you tell it what information you want filled in about the object it returns by filling an array of which properties to be retrieved. Any property not in the array is left as it's default value (usually null)</p>
  
  <p>The Problem:
    I want the user to be able to select a property of an Object (not get the value, just select which property) as below: </p>
  
  <pre><code>projectFields[0] = Primavera.Ws.P6.Project.ProjectFieldType.(project_properties.Text);
  </code></pre>
  
  <p>Where project_properties.Text is a string of the name of the Property I want to set projectFields[0] to. </p>
  
  <p>Can anyone help? Thanks in Advance :)</p>
  
  <p>Edit: Thanks for the answer guys. While they do let me get the value out of Objects Dynamically, that isn't quite what I was looking for... I'm not looking to retrieve a value, I'm only looking to set which Property projectFields[0] is equal too. for example, suppose the user selects Id as the information they want returned about the project. To do that, I'd set:</p>
  
  <p>projectFields[0]=Primavera.Ws.P6.Project.ProjectFieldType.Id;</p>
  
  <p>then I'd make a call to the Database, and I'd get the project Object back, with Id having been filled out for the project while all other properties would be left to their defaults. Basically, if I were to do it the way these examples suggest, I'd have to retrieve every property in the Object first, then access the member the user is interested in which would be slow/inefficent if I can make the way I'm trying to do it work. </p>
  
  <p>I know it's strange how the database is accessed, but I'm using web Services so I don't have the option to change anything about the calls to the database.</p>