title: Is there an Attribute I can use in my class to tell DataGridView not to create a column for it when bound to a List<MyClass>
body: <p>I have a class like this:</p>
  
  <pre><code>private class MyClass {
    [DisplayName("Foo/Bar")]
    public string FooBar { get; private set; }
    public string Baz { get; private set; }      
    public bool Enabled;
  }
  </code></pre>
  
  <p>When I create a <code>List&lt;MyClass&gt;</code> and assign it to the <code>DataSource</code> of a <code>DataGridView</code>, the grid shows me two columns, "Foo/Bar" and "Baz". This is what I want to happen.</p>
  
  <p>It currently works because Enabled is a field, not a property - DataGridView will only pick up properties. However, this is a dirty hack.</p>
  
  <p>I would like to make Enabled a property too, but still hide it on the DataGridView.</p>
  
  <p>I know I can manually delete the column after binding.. but that's not ideal.</p>
  
  <p>Is there an attribute similar to DisplayName, that I can tag a property with? Something like <code>[Visible(false)]</code> ?</p>