|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.11.2016, 23:27 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Вызов функции
Всем здрасте ...
Я так и не смог придумать адекватный текст заголовка, так как мой вопрос не вмещается в 3-5 слов. Суть такова: У меня есть семь функций, и массив bool[], содержащий семь значений, которые определяют, стоит ли вызывать каждую из семи функций. Вопрос: можно ли это сделать циклически ? Абстрактно: Код:
Можно ли так сделать, и если да - то как ? Понятно, что эти семь функций надо где то сохранить, но я даже не знаю, как написать запрос в гугле. На запрос "c# ссылка на функцию" я нашёл, что это из области неуправляемого кода, и не кошерно мешать управляемый и неуправляемый код.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 19.11.2016 в 23:30. |
19.11.2016, 23:34 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
delegate, Action, Func, ...
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
20.11.2016, 01:36 | #3 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
зачем отвязывать функцию от массива? лист<keyvaluepair<<bool, #2>> или еще чего подходящего
|
20.11.2016, 18:20 | #4 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
come-on, я не понял вашего вопроса ...
Как мне посоветовал Alex11223 - я создал массив, и обращаюсь к нему: Код:
Сейчас у меня появился ещё один вопрос, по теме ссылок, только теперь не на функции, а на значения ... В моём классе есть несколько значений. У каждого значения есть компонент интерфейса, отвечающий за содержимое отдельно взятого значения. Дабы не городить 16 обработчиков событий на каждый компонент (ровно столько у меня компонентов, и их значений в классе) - я хочу организовать редактирование значения, которое я предварительно сохраняю в свойство Tag каждого компонента (при его создании). Вопрос такой: как в Tag сохранять ссылку на значение класса, для дальнейшего редактирования значения через эту ссылку ? Абстрактно: Код:
Подпись ? Не, не слышал ...
|
20.11.2016, 18:29 | #5 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
example.assigntext = "Hello, world !";
|
20.11.2016, 19:03 | #6 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
come-on
У меня таких assigntext'ов 16 штук, ровно столько же и компонентов интерфейса для их редактирования. Так конечно сделать можно, но будет некрасиво - 16 обработчиков событий.
Подпись ? Не, не слышал ...
|
20.11.2016, 19:28 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
sender это тот на ком вызвано событие
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
20.11.2016, 19:35 | #8 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Та же яичница, только в профиль: 16 кейсов. UPD: поправочка - для самих сендеров кейс неприменим. Так что - (sender as TextBox).Name. Хотелось бы, что бы интерфейсная реализация содержала один обработчик события для редактирования одного типа данных. При этом - код обработчика может содержать всего одну строку. Я знаю, что такое можно сделать на С++, спрашиваю про аналог на C#. Для примера - код обработчика события интерфейсной реализации: Код:
Но это экземпляры классов - с ними, в данном случае, проще. Как быть с переменными ?
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 20.11.2016 в 21:10. |
20.11.2016, 22:55 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
у вас есть лямбды, у вас есть делегаты, вы можете создавать структуры/классы.
полет фантазии неограничен. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
21.11.2016, 00:28 | #10 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Цитата:
Так вот ... Что такое лямбды - я не знаю (не приходилось ещё сталкиваться) ... Что такое делегаты - я имею представление ... Если говорить аналогиями - это зародыши генериков. Но опять же - сталкиваться непосредственно с делегатами приходилось только при обращении к компоненту из потока. К чему я веду всю эту ересь ... Я задал вполне корректный и конкретный вопрос - как сделать это, привёл аналогию из родственного языка, написал псевдо-код того, что я хочу получить. А в ответе получаю словосочетания без инструкций к их применению. Ну, или то, что другие люди называют "философией программирования" - в моём маленьком круге студентов-программистов под этим выражением подразумевается несуразная ересь. Или необоснованные, ни с чем не связанные данные. Как вы лично, Пепел Феникса, предлагаете мне на такое реагировать ? Говоря проще - внятного ответа на свой (второй) вопрос я так и не получил. P. S. Я понимаю, что мне тут никто ничего не должен; но - если отвечаете, то отвечайте, пожалуйста, по существу.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 21.11.2016 в 00:40. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызов функции | Diana528 | Общие вопросы C/C++ | 1 | 18.04.2013 21:56 |
вызов функции | -Anton- | Microsoft Office Excel | 2 | 09.06.2011 14:18 |
Мини бэйсик:объявление функции, вызов функции , возврат. | AL_LORD | Помощь студентам | 2 | 14.10.2010 17:48 |
Вызов функции | new player | БД в Delphi | 5 | 07.10.2010 13:01 |
Вызов функции | MarSeON | PHP | 2 | 01.08.2008 20:22 |