Есть метод A и методы B,С,D,E.
Нужно метод A выполнить перед каждым методом B,С,D,E, когда они будут запускаться и если метод A будет false, то выйти и не выполнять следующий код.
Фактически нужно вписать выполнение метода А в каждый из методов.
Но есть ли какой-то лучшей способ обёртки, что б не прописывать одинаковые действия в каждом из методов и наследовать класс А (с методом А) и пропускать всё через него?
bool A()
{
bool result = false;
// действия
return result; // если тут вернёт false, ваши методы будут прекращать работу
}
void B()
{
if (!A()) return;
// Действия
}
Аналогично, как в B(), будет и в других методах (C-E)
Также есть вариант с использованием делегатов
delegate bool MyDelegate;
public Main()
{
MyDelegate = A;
}
bool A()
{
bool result = false;
// действия
return result; // если тут вернёт false, ваши методы будут прекращать работу
}
void B()
{
if (!MyDelegate.Invoke()) return;
// Действия
}
bool Проверка()
{
return true; // вернуть false если что-то не так
}
void ОбычныйМетод()
{
if (!Проверка()) return;
// какие-то действия
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Здравствуйте, в классе (C) создаются и используются два экземпляра класса-наследника (B : A), поля класса (C) взаимодействуют с парой публичных...
Установил через диспетчер пакетов nuget библиотеку pjsuaиспользуя using подключаю ее и все нормально, могу использовать классы и методы
Я знаю что нужно выполнить преобразование типов, но хотел бы разобраться в механизмеПочему этот код выдает ошибку?
Есть примерно 10 USB устройств подключенных через USB-хабДля работы с устройствами есть библиотека производителя