Какая функция вызова перекрестного потока лучше подходит для элемента управления, который наследуется? - PullRequest
0 голосов
/ 09 ноября 2009

У меня относительно простой вопрос, касающийся лучшего способа вызова функции DataGridView.Rows.Add, когда она наследуется в текущем элементе управления. Какой лучший способ сделать вызов унаследованного элемента управления? Вызывать его напрямую в invoke или вызывать с помощью рекурсивной функции? Похоже, они оба дают одинаковый результат, добавляется строка и возвращается количество, но какой из них наиболее эффективен?

Делегат: Private Delegate Function ReturnDelegate() As Object

Два способа:
A)

Private Overloads Function AddRow() As Integer
    If InvokeRequired Then
        Return CInt(Invoke(New ReturnDelegate(AddressOf AddRow)))
    Else
        Return Rows.Add()
    End If
End Function

Или

В)

Private Function RowsAdd() As Integer
    If Me.InvokeRequired Then
        Return CInt(Me.Invoke(New ReturnDelegate(AddressOf MyBase.Rows.Add)))
    Else
        Return MyBase.Rows.Add
    End If
End Function

1 Ответ

0 голосов
/ 09 ноября 2009

Обычно я забочусь об эффективности, помещая блок BeginUpdate () EndUpdate () вокруг моей серии обновлений.

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