9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
||||||
1 | ||||||
Делегаты08.12.2017, 08:51. Показов 1668. Ответов 19
Метки нет (Все метки)
Объясните мне пожалуйста этот код, не могу понять. Учу делегаты, а этот пример не разберу
smethod из метода Age, что выталкивает сообщение? он же принимать должен я чето запутался
0
|
08.12.2017, 08:51 | |
Ответы с готовыми решениями:
19
Делегаты Делегаты Делегаты Делегаты |
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
08.12.2017, 09:09 | 2 |
Метод Age вызывает переданный ему делегат. Больше ничего
0
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
|
08.12.2017, 10:03 [ТС] | 3 |
объясните пожалуйста для лузера нормально, пошагово. Меня это бесит что я не могу вьехать
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 10:04 | 4 |
Sayanchik777, делегат - ссылка на [какой-то] метод. Вы "вызываете" делегат, а он "пробрасывает" (делегирует) этот вызов методу, на который он ссылается.
0
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
|
08.12.2017, 10:19 [ТС] | 5 |
Usaga,
m.Age(met) Вызывает showMess(string Message) а showMess -у кто параметры передает?
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 10:30 | 6 |
Sayanchik777, делегат передаёт, который сам их получает в методе
Age() .
0
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
||||||
08.12.2017, 10:30 [ТС] | 7 | |||||
как понять эту строку
Метод Age который принимает в качестве параметров данные типа TestDeligate? принял он, что дальше? как вообще текст идет на гору - непойму то что делегат ссылается на метод - вызываешь делегат а он дает адресс метода. ну этот пример непойму(*(((
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 10:34 | 8 |
Ничего он не "даёт". Делегат - класс сгенерированный компилятором, который при создании получает ссылку на класс и метод, а потом, когда вы "вызываете" делегат, он вызывает метод у класса и передаёт ему все аргументы принятые извне. Так яснее?
0
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
|
08.12.2017, 10:35 [ТС] | 9 |
ВОТ ЭТОТ ПРИМЕР ПОНИМАЮ
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 10:40 | 10 |
Sayanchik777, ну?
0
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
||||||
08.12.2017, 10:47 [ТС] | 12 | |||||
пример на скриншоте мнепонятен.
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 10:49 | 13 |
Сообщение было отмечено Sayanchik777 как решение
Решение
Sayanchik777, вам сложно осознать, что делегат можно передавать в виде аргумента в метод класса? А то, что целый класс можно передавать и его методы дёргать - понятно?)
1
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
||||||
08.12.2017, 10:51 [ТС] | 14 | |||||
окей, что попадает в параметры m.Age(met); Текст? или ссилка на showMess(string Message)?
0
|
1494 / 1209 / 821
Регистрация: 29.02.2016
Сообщений: 3,614
|
||||||
08.12.2017, 10:53 | 15 | |||||
пример использования делегата при интегрировании разных функций
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 10:55 | 16 |
0
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
||||||
08.12.2017, 11:02 [ТС] | 17 | |||||
Ааааа....теперь прочитал ваше сообщение, по моему вроде врубаюсь. получается аргументом метода age является showMess ------> то есть передается метот что выводит строку в консоле ----->m.Age(met);
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 11:15 | 18 |
НЕТ. Аргументом является делегат. Делегат - обычный класс. Вы даже его тип можете изучить (GetType()) и увидеть, что это реально класс, унаследованный от класса Delegate.
0
|
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
|
|
08.12.2017, 11:23 [ТС] | 19 |
Usaga, а как воспользоваться GetType() ?
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
|
|
08.12.2017, 11:30 | 20 |
Sayanchik777, это метод любого объекта. Можно и в отладчике посмотреть, что к чему.
0
|
08.12.2017, 11:30 | |
08.12.2017, 11:30 | |
Помогаю со студенческими работами здесь
20
Делегаты Делегаты Делегаты Делегаты Делегаты Делегаты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |