|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.04.2016, 14:58 | #1 |
Пользователь
Регистрация: 31.01.2016
Сообщений: 67
|
Вопрос по классу-делегату и принимаемыми им параметрами
всем привет, только что начал изучать делегаты. имеется такой пример:
Код:
Код:
"обратите внимание, что метод (конструктор по умолчанию в нашем классе-делегате), который будет сообщен с этим экземпляром данного класса-делегата - ничего не должен принимать , и также ничего не должен возвращать " вот мой вопрос: то, что конструктор по умолчанию класса-делегата :ничего не должен принимать , и также ничего не должен возвращать " - это аксиома для всех делегатов при из создании, или это конкретный случай из-за того, что данный делегат, в данном случае сообщен с таким методом: Код:
Т.е в итоге это либо
|
12.04.2016, 17:35 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну так создайте метод и делегат с параметрами, и узнаете
https://msdn.microsoft.com/en-us/lib...=vs.71%29.aspx
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.04.2016, 07:04 | #3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Это не конструктор класса делегата, тут вообще не применимо понятие "класс делегата", т.к. классы это одно (и там есть конструкторы в том числе), а делегаты - другое. Данная конструкция - объявление типа делегата (typedef, type declaration), оно говорит в программе, что на основе такой конструкции будут объявляться некие элементы программы, например, переменные, которые будут соответствовать этому делегату, в такие переменные можно назначить методы, существующие в программе и вызывать (Invoke) их через переменную. Аналог из "обычного" программирования это ссылка на функцию/метод.
И, конечно же, объявлять можно любые произвольные делегаты (как и любые произвольные функции/методы), а тут просто конкретный случай, для упрощения без параметров и результата. |
13.04.2016, 10:24 | #4 | ||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Цитата:
Цитата:
конструктор вполне себе принимает. а вот метод Invoke имеет ту сигнатуру которую вы указали при объявлении типа-делегата. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 13.04.2016 в 10:27. |
||||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обращение к инициализированному классу C++ | Tyritti | Общие вопросы C/C++ | 2 | 05.08.2015 16:00 |
Create с параметрами. Вопрос для эстетов | Дmmm | Общие вопросы Delphi | 16 | 19.07.2014 23:51 |
Обращение к базовому классу | ACE Valery | Общие вопросы C/C++ | 17 | 02.01.2013 18:04 |
программа с типизированными параметрами-значениями и параметрами-переменными | Kira09 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 20.12.2010 22:23 |