@romaro

Как удалось добавить метод к библиотечному классу без наследования?

Разбирая старый проект, обнаружил интересную особенность, которую никогда не использовал. Есть статический класс с методом DataGridViewCellClicked:
namespace GuiSystem
{
    public static class GlobalMethods
	{
        public static bool DataGridViewCellClicked(this DataGridView dataGridView, Point mousePosition)
        {
             ///
        }
        }
}


Этот метод вызывается в произвольных классах на стандартных объектах винформ DataGridView:
private void productsDataGridView_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                var clickInTable = productsDataGridView.DataGridViewCellClicked(MousePosition);
                GetContextMenuStripForProductsDataGridView(clickInTable).Show(productsDataGridView, e.Location);
            }
        }


Как это работает без наследования? Я думал, что через какой-нибудь partial class для DataGridView, но не нашел его в проекте.
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@Voland69
Это называется метод расширения ссылка на док
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы