Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
62 / 63 / 28
Регистрация: 10.01.2018
Сообщений: 360

Нужно ли предупреждать программистов о необходимости вызова критических методов?

09.02.2018, 23:45. Показов 1311. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Интересует следующий вопрос. Есть ли возможность предупредить того, кто расширяет функционал приложения с моими исходниками или использует мою библиотеку, о необходимости вызова 1-го метода раньше чем будет вызван 2-й метод и нужно ли вообще это делать именно в коде? Я лично такого не встречал, но мало ли...
Для примера нет смысла отправлять запросы к БД если не установлено подключение, и прочее по шаблону, где вначале нужен вызов методов с изменяющимися данными, необходимыми для инициализации. авторизации и тд.

Добавлено через 2 минуты
Не интерфейсы. Именно вызов уже реализованного метода, который должен быть вызван раньше всех остальных
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2018, 23:45
Ответы с готовыми решениями:

Существует ли способ вызова MsgBox, без необходимости нажимать OK для продолжения выполнения макроса
Здравствуйте, у меня есть Excel-макрос, который постоянно обновляет данные в ячейках и программа, которая считывает эти значения из...

нужно чтобы функция располагалась до ее вызова, после ее вызова и в другом файле. Как это сделать?
#include <iostream> #include <conio.h> using namespace std; int n, *c; void fun(int a, int b) { for (int i = 0; i <...

Цепочка вызова методов
Есть код: InputStream inp = Thread.currentThread().getContextClassLoader().getResourceAsStream("App.properties"); Непонятно, кто...

5
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.02.2018, 23:56
Sternman, Ну вообще такие дела обычно по другому делают. т.е. набор свойств с данными для инициализации и булевское свойство Active. Его установка в true вызывает метод Connect в false Disconnect. А дальше по вызову методов требующих активной коннекции они проверяют наличие коннекции и возможны два варианта - либо автоконнекция с данными установленными в свойствах либо выброска екскепшина типа сначала законнектся. Какой конкретно делать - либо решается по сути класса либо делается еще одно свойство AutoConnect которое переключает что делать при отсутствии коннекции.
Ну а вообще такая архитектура наиболее удобна при визуальной разработке с которой у шарпа тяжко.
2
62 / 63 / 28
Регистрация: 10.01.2018
Сообщений: 360
10.02.2018, 00:11  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
такие дела обычно по другому делают
Естественно уже все необходимые проверки есть в методе, просто интересует можно ли и главное нужно ли оставлять в коде какие -нить напоминания для других, из вашего ответа я так понимаю не нужно. спасибо.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
10.02.2018, 01:32
Sternman, код нужно писать так, что бы его использование было прозрачным: есть метод? - бери и пользуй, а не сдай 100500 анализов перед этим
1
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
10.02.2018, 10:41
Лучший ответ Сообщение было отмечено Sternman как решение

Решение

Цитата Сообщение от Sternman Посмотреть сообщение
о необходимости вызова 1-го метода раньше чем будет вызван 2-й метод и нужно ли вообще это делать именно в коде?
Если есть возможность сделать это по-другому, то лучше сделать по-другому.
Например, во 2-м методе вызывать первый метод перед основной работой.

В целом такой подход является анти-паттерном, называется Sequential Coupling.
2
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,230
10.02.2018, 11:02
Sternman, любой класс должен быть спроектирован так, чтобы его можно было легко использовать правильно и очень трудно использовать неправильно.
Поэтому лучше сделать по-другому. Зачем нужны сложности?
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2018, 11:02
Помогаю со студенческими работами здесь

Механизм вызова методов
Здраствуйте, коллеги. Если взглянуть на синтаксис метода, можно трактовать его, как вызов __getattr__ с параметром имени метода и...

Перехват вызова методов
здравствуйте. собственно, могу ли я перехватить функцию которую вызвал мой метод который я вызвал рефлексией? например, в классе...

Особенности вызова методов
Добрый день. Вообщем заметил такую особенность при вызове методов. Вот пример: class a{ public function am1(){ echo...

Порядок вызова унаследованных методов
Здравствуйте! Недавно на собеседовании задавали такую задачу: какие значения последовательно получают i и s по мере выполнения...

Синтаксис последовательного вызова методов
Наткнулся в учебнике на код. Может быть я его неправильно понял. Но выглядит так, как будто вызываются последовательно методы класса. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru