title: Cast value type to generic
body: <p>I have a generic class that I need to constrain to only value types (int, float, etc.).  I have a method that calls the Parse method based on a test of the type.  For example:</p>
  
  <pre><code>class MyClass&lt;T&gt;
  {
      ...
  
      private static T ParseEntry(string entry)
      {
          if(typeof(T) == typeof(float))
          {
              return (T) float.Parse(entry);
          }
  
          if(typeof(T) == typeof(int))
          {
              .... you get the idea
          }
      }
  }
  </code></pre>
  
  <p>Constraining T to <code>struct</code> doesn't work and I really want to avoid boxing/unboxing if possible.  Any ideas?</p>
  
  <p>EDIT: To give a little more insight into this.  I noticed in a library I'm developing that two classes had very similar properties/methods etc.  the only difference was the underlying type of data (int or float).  THis lead me to a design with generics.  The only hangup is because of the call to the specific Parse method depending on if it's a float or int.  I could get around it with boxing/unboxing but I really wanted to avoid that if possible.</p>