title: property.GetValue ignores CultureInfo
body: <p>It seems that for some reason property.GetValue ignores CultureInfo. Here is what I try to achieve:</p>
  
  <pre><code>public static IEnumerable&lt;string&gt; GetViewModelProperties(this IDocumentViewModel vm) {
       foreach (var property in vm.GetType().GetProperties().Where(p =&gt; (p.PropertyType.IsPrimitive ||
                                                                   p.PropertyType.GetInterfaces().Any(t =&gt; t.IsGenericType &amp;&amp; t.GetGenericTypeDefinition() == typeof(IEnumerable&lt;&gt;))) &amp;&amp;
                                                                    p.GetIndexParameters().Count() == 0))
       {
          yield return property.Name + ":" + property.GetValue(vm, System.Reflection.BindingFlags.GetProperty, null, null, System.Globalization.CultureInfo.InvariantCulture);
       }
  }
  </code></pre>
  
  <p>which I simply save to disk using</p>
  
  <pre><code>System.IO.File.WriteAllText("filename.txt", settings.ToString());
  </code></pre>
  
  <p>and in the resulting file, for property Frequency of type double with value 50.33 I got</p>
  
  <pre><code>Frequency:50,33
  </code></pre>
  
  <p>which is CurrentCulture (Polish uses coma as separator), but not </p>
  
  <pre><code>Frequency:50.33
  </code></pre>
  
  <p>as I'd expect. Any ideas what might be wrong?</p>