Определите операторы на DataGridViewCell - PullRequest
0 голосов
/ 26 ноября 2018

Мне нужно определить некоторые пользовательские операторы в ячейках DataGridView и попытаться следовать перспективе ООП.

Я получил новый класс из стандарта DataGridViewTextBoxCell (ради этого назовите его DataGridViewTextBoxCell_1)этого вопроса) следующим образом

class DataGridViewTextBoxCell_1:DataGridViewTextBoxCell
{
  public static bool operator >=(DataGridViewTextBoxCell_1 a, DataGridViewTextBoxCell_1 b)
    { // do something }
}

Таким образом > = - это новый оператор, определенный в ячейках текстового поля.Теперь, когда я создаю элемент управления datagridview с именем Datagrid_1 и добавляю новые ячейки с шаблоном ячейки, установите нас DataGridViewTextBoxCell_1 , а именно

 this.Datagrid_1.Columns[this.Datagrid_1.Columns.Count - 1].CellTemplate = new DataGridViewTextBoxCell_1();

, я не могу использовать определенный выше оператор> = в ячейках DataGrid_1, хотя их шаблон поддерживает операторы (я получаю сообщение об ошибке, что Operator> = нельзя применить к операндам типа 'DataGridViewCell').

Я предполагаючто я могу использовать приведение , но для широкого использования, которое может быть неэффективным.

С другой стороны, я не уверен, как расширить класс DataGridViewCell (к которому относится ошибка) и заставить DataGridView Control использовать этот новый расширенный класс Cell, поскольку связь между классами DataGridViewCell и DataGridView не совсем ясна.

Буду признателен за любые предложения по этому вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...