Задать вопрос
@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, но не нашел его в проекте.
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
@Voland69
Это называется метод расширения ссылка на док
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы