我实际上想要做的是编写一个函数,允许我更改 DataGridView 中的选择,我想编写一个函数并将其用于行和列。这是一个简单的示例,它取消选择所有内容并选择新的行或列:
private void SelectNew<T>(T collection, int index) where T : IList
{
ClearSelection();
collection[index].Selected = true;
}
我的问题是这不起作用,因为它无法派生.Selected()
可用,因为这是非通用 IList。
使用
where T : IList<DataGridViewBand>
会很好,但由于 DataGridViewRowCollection (和 -Column- )只是从 IList 派生的,所以这是行不通的。
在 C++ 中,我可能会使用特征成语。有没有办法在 C# 中做到这一点,还是有更惯用的方法?