title: Enum array to strings
body: <p>I have a ToString extension method of an IEnumerable, which converts it to a list of strings as follows:</p>
  
  <pre><code>    public static string ToString&lt;T&gt;(this IEnumerable&lt;T&gt; theSource,
                                       string theSeparator) where T : class
      {
          string[] array = 
                       theSource.Where(n =&gt; n != null).Select(n =&gt; n.ToString()).ToArray();
  
          return string.Join(theSeparator, array);
      }
  </code></pre>
  
  <p>I now want to do something similar with an array of enums: given theXStatuses, an array of XStatus enum values, I want to get a string containing the enum values separatd by theSeparator. For some reason, the above extension method doesn't work for XStatus[]. So I tried</p>
  
  <pre><code>        public static string ToString1&lt;T&gt;(this IEnumerable&lt;T&gt; theSource,string theSeparator)
                                                                               where T : Enum
  </code></pre>
  
  <p>But then I got an error that "cannot use ... 'System.Enum'...as type parameter constraint.</p>
  
  <p>Is there any way to achive this? </p>