У меня есть класс вроде этого:
private class MyClass {
[DisplayName("Foo/Bar")]
public string FooBar { get; private set; }
public string Baz { get; private set; }
public bool Enabled;
}
Когда я создаю List<MyClass>
и назначаю его DataSource
для DataGridView
, сетка показывает мне два столбца: "Foo/Bar" и "Baz". Это то, что я хочу.
В настоящее время он работает, потому что Enabled - это поле, а не свойство. DataGridView будет только получать свойства. Однако это грязный хак.
Я хотел бы также включить свойство Enabled, но все же спрятать его в DataGridView.
Я знаю, что могу вручную удалить столбец после привязки.. но это не идеально.
Есть ли атрибут, похожий на DisplayName, с которым я могу пометить свойство? Что-то вроде [Visible(false)]
?