title: C#. Set a member object value using reflection
body: <p>I need your help with the following code below. Basically I have a class called "Job" which has some public fields. I'm passing to my method "ApplyFilter" two parameters "job_in" and "job_filters". First parameter contains actual data, and the second one has instructions (if any). I need to iterate through "job_in" object, read it's data, apply any instructions by reading "job_filters", modify data (if needed) and return it in a new "job_out" object. Everything works fine till i need to store my data in "job_out" object:</p>
  
  <pre><code>    public class Job
      {
          public string job_id = "";
          public string description = "";
          public string address = "";
          public string details = "";
      }
  </code></pre>
  
  <p>...</p>
  
  <pre><code>    private Job ApplyFilters(Job job_in, Job job_filters)
      {
  
          Type type = typeof(Job);
          Job job_out = new Job();
          FieldInfo[] fields = type.GetFields();
  
          // iterate through all fields of Job class
          for (int i = 0; i &lt; fields.Length; i++)
          {
              List&lt;string&gt; filterslist = new List&lt;string&gt;();
              string filters = (string)fields[i].GetValue(job_filters);
  
              // if job_filters contaisn magic word "$" for the field, then do something with a field, otherwise just copy it to job_out object
              if (filters.Contains("$"))
              {
                  filters = filters.Substring(filters.IndexOf("$") + 1, filters.Length - filters.IndexOf("$") - 1);
                  // MessageBox.Show(filters);
                  // do sothing useful...
              }
              else
              {
                  // this is my current field value 
                  var str_value = fields[i].GetValue(job_in);
                  // this is my current filed name
                  var field_name = fields[i].Name;
  
                  //  I got stuck here :(
                  // I need to save (copy) data "str_value" from job_in.field_name to job_out.field_name
                  // HELP!!!
  
              }
          }
          return job_out;
      }
  </code></pre>
  
  <p>Please help. I've seen a few samples by using properties, but i'm pretty sure it is possible to do the same with fields as well. Thanks! </p>