title: Setting all values of an Flag enum except of one field
body: <p>I've got the following declaration</p>
  
  <pre><code> private uint mask;
   Action&lt;FlagEnum&gt; setField = new Action&lt;FlagEnum&gt;(x =&gt; this.mask = (uint)x);
  </code></pre>
  
  <p>and the following enum for example:</p>
  
  <pre><code>[Flags]
  public enum FlagEnum : uint
  {
      Clear = 0x0,
      F1 = 0x1,
      F2 = F1 &lt;&lt; 1,
      F3 = F2 &lt;&lt; 1,
      F4 = F3 &lt;&lt; 1,
      F5 = F4 &lt;&lt; 1,
      F6 = F5 &lt;&lt; 1
  }
  </code></pre>
  
  <p>Now i want to set all flags except of the 'Clear' flag. I've tried this:</p>
  
  <pre><code> setField(!FlagEnum.Clear);
  </code></pre>
  
  <p>But i get the following message</p>
  
  <pre><code>Operator '!' cannot be applied to perand of type 'BitMask.FlagEnum'
  </code></pre>
  
  <p>Setting a flag with, for example:</p>
  
  <pre><code> setField(FlagEnum.F1)
  </code></pre>
  
  <p>Works fine.</p>
  
  <p>So the question is how can i set all fields of the FlagEnum instead of the 'Clear' one with my approach? Or is this not possible and i have to implement this requirement.</p>