title: CSharp Enumerate through nullable Enums
body: <p>One piece of code is worth a thousand words...</p>
  
  <pre><code>public enum enTest { a, b, c }
  
  public void PrintEnum&lt;T&gt;()
  {
      foreach (var E in Enum.GetValues(typeof(T)))
      Debug.WriteLine(E.ToString());
  }
  
  PrintEnum&lt;enTest&gt;();
  PrintEnum&lt;enTest?&gt;();    // This will cause failure in Enum.GetValues()
  </code></pre>
  
  <p>The above is simplified from a larger problem to illustrate the failure.</p>
  
  <p>Does anyone know how can I iterate through (or get all the values inside) when someone passing me a Nullable Enum?</p>
  
  <p>Thanks in advance.</p>