title: How to let enum with flag output all with real values?
body: <p>Consider Below Code, how to let Console.WriteLine(Colors.All) output "Red, Yellow, Blue,Green", instead of "All"?</p>
  
  <pre><code>using System;
  
      namespace ConsoleApplication1
      {
          class Program
          {
              static void Main(string[] args)
              {
                  Console.WriteLine(Colors.All);// All
                  var noRed = Colors.All &amp; ~Colors.Red;
                  Console.WriteLine(noRed);// Yellow, Blue, Green
                  Console.ReadLine();
              }
          }
  
          [Flags]
          enum Colors
          {
              None=0,
              Red= 1&lt;&lt;0,
              Yellow = 1&lt;&lt;1,
              Blue= 1&lt;&lt;2,
              Green=1&lt;&lt;3,
              All = Red | Yellow| Blue | Green
          }
      }
  </code></pre>