Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269

Возвращаемое значение в методе c возвращаемым значением bool

04.03.2019, 09:20. Показов 757. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как бы грамотнее сделать, добавляю гудок, метод SetColors() возвращает true/false, потом так же выключаю через 1 сек, но вот думаю над terurn, как бы нормально сделать возвращаемое значение(возвращал тру/фолс)?

C#
1
2
3
4
5
6
7
8
9
10
public override bool Beep()
        {
            currentColor |= Colors.Alarm;
            SetColors();
            Thread.Sleep(1000);
            currentColor ^= Colors.Alarm;
            SetColors();
 
            return true;
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2019, 09:20
Ответы с готовыми решениями:

Закрытый метод с двумя out-параметрами и возвращаемым значением типа bool.
Помогите написать программу. Определить класс "треугольник" с конструктором, который при создании объекта инициализирует поля,...

Делегаты с возвращаемым значением (одним) от метода из другого класса
class Iz1 { int i = 0; public double SN; public double Sn() { if (i < 1000) ...

Вычисление кубического корня с использованием функции с параметрами и возвращаемым значением
Составьте программу для вычисления кубического корня из произвольного числа arg, вводимого пользователем с экрана. Вычисление...

15
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.03.2019, 09:24
Скорее всего Beep - это процедура, а не функция. Можно добавить функцию - Beeped(), которая будет возвращать признак, был ли "гудок"
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.03.2019, 09:26  [ТС]
Почтальон, в остальные методах я возвращаю SetColors(); , но тут надо сделать иначе...А как можно реализовать?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.03.2019, 09:28
SetColors() у вас же процедура. Возможно проще было создать отдельный класс.
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.03.2019, 09:31  [ТС]
Почтальон,
Цитата Сообщение от Почтальон Посмотреть сообщение
создать отдельный класс
вот сейчас вообще не понял) Метод SetColors() возвращает тру, если ответ сервопривода пришел успешно.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.03.2019, 09:41
Цитата Сообщение от ShmelVG Посмотреть сообщение
Метод SetColors() возвращает тру, если ответ сервопривода пришел успешно.
Не совсем верное решение, т.к. исходя из названия метода - метод устанавливает цвет и результатом должно возвращаться - установлен, либо нет (по каким-то причинам). Ну это уже чисто архитектурное предпочтение
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.03.2019, 09:58  [ТС]
Почтальон, Просто внутри метода , вызывается другой метод, я просто рассказал суть, чтобы не вдаваться в детали)...Вы могли бы помочь в решении проблемы?

Почтальон,Пока сделал так)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public override bool Beep()
        {
            try
            {
                bool result = true;
                _commandExecuting.Reset();
                //Task.Factory.StartNew(() => result = InnerBeep());
                bool shouldExecuted = _commandExecuting.WaitOne(_TimeoutBeep);
                if (!shouldExecuted)
                {
                    currentColor |= Colors.Alarm;
                    SetColors();
                    Thread.Sleep(1000);
                    currentColor ^= Colors.Alarm;
                    SetColors();
                    return result;
                }  
 
                return false;
            }
            catch (Exception)
            {
                throw new IOException("Не удалось воспроизвести звук.", ex);
            }           
        }
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
04.03.2019, 10:42
замечания по коду:
C#
1
2
3
4
5
6
7
8
9
10
11
            try
            {
                bool result = true;
                ...
                if (!shouldExecuted)
                {
                    ...
                    return result;
                }  
                return false;
            }
я бы написал или так
C#
1
2
3
4
5
6
7
8
9
10
11
            try
            {
                bool result = false;
                ...
                if (!shouldExecuted)
                {
                    ...
                    result = true;
                }  
                return result;
            }
или так
C#
1
2
3
4
5
6
7
8
9
10
            try
            {
                ...
                if (!shouldExecuted)
                {
                    ...
                    return true;
                }  
                return false;
            }
или наверное даже более информативно
C#
1
2
3
4
5
6
7
8
9
            try
            {
                ...
                if (!shouldExecuted)
                {
                    ...
                }  
                return !shouldExecuted;
            }
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.03.2019, 10:54  [ТС]
belalugoci, Почтальон, мб так?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public override bool Beep()
        {
            try
            {
                _commandExecuting.Reset();
                bool shouldExecuted = _commandExecuting.WaitOne(_TimeoutBeep);
                if (!shouldExecuted)
                {
                    if (SetColors())
                    {
                        currentColor |= Colors.Alarm;
                    }
                    else return false;
 
                    Thread.Sleep(1000);
 
                    if (SetColors())
                    {
                        currentColor ^= Colors.Alarm;
                    }
                    else return false;
                }
 
                return SetColors();
            }
            catch (Exception ex)
            {
                throw new IOException("Не удалось воспроизвести звук.", ex);
            }
        }
Добавлено через 2 минуты
По идее должен включиться и выключиться
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
04.03.2019, 10:55
Цитата Сообщение от ShmelVG Посмотреть сообщение
мб так?
программа ваша, может быть и так. я, например, не понимаю зачем вы это делаете.
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.03.2019, 11:01  [ТС]
belalugoci, надо включить гудок, через секунду выключить
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.03.2019, 11:04
Цитата Сообщение от ShmelVG Посмотреть сообщение
надо включить гудок, через секунду выключить
в отдельном потоке можно это делать
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
04.03.2019, 11:06
Цитата Сообщение от ShmelVG Посмотреть сообщение
надо включить гудок, через секунду выключить
написать метод для включения гудка на Х миллисекунд
C#
1
2
public void Beep(int _ms)
{}
в теле включить гудок, сделать задержку на _ms миллисекунд и выключить.
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.03.2019, 11:10  [ТС]
Почтальон, belalugoci, теоретически мой метод будет работать правильно?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.03.2019, 11:22
Теоритически - да, но он далеко от идеала.....
1
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
04.03.2019, 11:36
Цитата Сообщение от ShmelVG Посмотреть сообщение
теоретически мой метод будет работать правильно?
неясным остается назначение bool и особенно включение звука сменой цвета
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2019, 11:36
Помогаю со студенческими работами здесь

Создать функцию возвращаемым значением которой является квадратная матрица
Помогите, сижу на зачете, хз в чем ошибка создать функцию возвращаемым значением которой является квадратная матрица размером 5 а...

Какова разница программы с возвращаемым целым значением и без возвращаемого значения
Доброго времени суток! Подскажите, в чём разница программ с возвращаемым целочисленным значением и без возвращаемого значения? ...

Как объявить и использовать функцию с аргументом и возвращаемым значением в виде массивов структур?
Всем здравствуйте. Как объявить и использовать функцию с аргументом и возвращаемым значением в виде обычных массивов я понял: Public...

независимо управлять типом входных данных массива для определения сред. ариф. и возвращаемым значением функции
Нужно сделать чтобы можно было независимо управлять типом входных данных массива для определения сред. ариф. и возвращаемым значением...

Изменить значение bool a = true в bool a = false
// Логическое выражения - варианты #include <iostream> #include <conio.h> using namespace std; int main() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru