title: Generic conversion function doesn't seem to work with Guids
body: <p>I have the following code:</p>
  
  <pre><code>public static T ParameterFetchValue&lt;T&gt;(string parameterKey)
  {
      Parameter result = null;
  
      result = ParameterRepository.FetchParameter(parameterKey);
  
      return (T)Convert.ChangeType(result.CurrentValue, typeof(T), CultureInfo.InvariantCulture);  
  }
  </code></pre>
  
  <p>The type of <strong><code>result.CurrentValue</code> is string</strong>.  I would like to be able to convert it to Guid but I keep getting the error:</p>
  
  <blockquote>
    <p>Invalid cast from System.String to System.Guid</p>
  </blockquote>
  
  <p>This works perfectly with primitive data types.<br>
  Is there any way to <strong>make this work for non-primitive data types</strong>?</p>