<p>From time to time I see an enum like the following:</p>

<pre><code>[Flags]
public enum Options 
{
    None    = 0,
    Option1 = 1,
    Option2 = 2,
    Option3 = 4,
    Option4 = 8
}
</code></pre>

<p>I don't understand what exactly the <code>[Flags]</code> attribute does.</p>

<p>Anyone have a good explanation or example they could post?</p>

Flags allow you to use bitmasking inside your enumeration.  This allows you to combine enumeration values, while retaining which ones are specified.
```
```
[Flags]
public enum DashboardItemPresentationProperties : long
{
    None = 0,
    HideCollapse = 1,
    HideDelete = 2,
    HideEdit = 4,
    HideOpenInNewWindow = 8,
    HideResetSource = 16,
    HideMenu = 32
}
```
```