Реализация, AFAIK, "все это" - она использует:
((this.State & elementState) == elementState);
Что есть "все из". Если вы хотите написать «любой из», возможно, добавьте вспомогательный метод:
(добавьте «this» перед DataGridViewColumnCollection
, чтобы сделать его методом расширения C # 3.0 в)
public static DataGridViewColumn GetFirstColumnWithAny(
DataGridViewColumnCollection columns, // optional "this"
DataGridViewElementStates states)
{
foreach (DataGridViewColumn column in columns)
{
if ((column.State & states) != 0) return column;
}
return null;
}
Или с LINQ:
return columns.Cast<DataGridViewColumn>()
.FirstOrDefault(col => (col.State & states) != 0);