|
Модераторы: gambit, Partizan |
|
AGENTxXx |
|
||||||
Бывалый Профиль Группа: Участник Сообщений: 231 Регистрация: 8.6.2009 Репутация: 1 Всего: 1 |
Всем привет!
Пытаюсь вот до конца вникнуть в события и делегаты, и вроде как увидел след. информацию:
Это цитата из rsdn. Решил вот сделать что-то подобное (т.е. унаследовать от EventArgs и добавить поля:
Но в ответ получаю ошибку на след. строке:
Возвращаемая ошибка: Error 1 No overload for 'btn_Method' matches delegate 'System.EventHandler' c:\users\admin\documents\visual studio 2012\Projects\DelegateExmpl\DelegateExmpl\Form1.cs 23 30 DelegateExmpl Хотел бы, чтобы пояснили всё же, реально ли это сделать, или такое можно сделать только на полностью "разработанном" объекте в ручную, а забитую информацию в .Net библиотеки уже не поменять и можно использовать только EventArgs? Только вроде начал понимать, и опять что-т запутался на этом месте. |
||||||
|
|||||||
infarch |
|
|||
Опытный Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: нет Всего: 1 |
Для начала, событие Клик у кнопки рассчитывает получить вторым параметром именно EventArgs, а не производный класс. Так что вам остается только привести стандартный класс к вашему:
И теперь о грустном: в случае обычного клика по кнопке вы поймаете эксепшен. Фреймворк вызывает событие именно с EventArgs, а о ваших производных ему ничего не известно. Вот если вы сами создаете некое событие у некоего класса, и сами же его вызываете то можете использовать какие угодно параметры, не проблема. Это сообщение отредактировал(а) infarch - 22.4.2016, 13:42 |
|||
|
||||
AGENTxXx |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 231 Регистрация: 8.6.2009 Репутация: 1 Всего: 1 |
А встречались ли случаи, когда EventArgs как-то использовался в коде разработчиком. Просто на сколько я понял, там хранится в основном инфа вспомогательная для самой программы. Просто пока так и не увидел смысла, почему пришли разработчики .Net к такой идеологии... Или типа просто так реализовали и всё?...
|
|||
|
||||
infarch |
|
|||
Опытный Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: нет Всего: 1 |
Я использовал в своих поделках. По сути, в своих обработчиках событий вы можете вообще никаких аргументов не юзать, если не надо. Но если вы, например, наследуетесь от некоего стандартного класса и хотите кинуть его событие вручную со своими дополнительными данными, то наследование от EventArgs очень помогает. Ну и для красоты и расширяемости я предпочитаю чтоб все события имели стандартную форму аргументов.
|
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |