LINUX.ORG.RU

История изменений

Исправление ox55ff, (текущая версия) :

Сейчас возможна такая ситуация:
event->_eventReceiver->Send(new ErrorA{«hello»});
От этого я хочу закрыться интерфейсом и заменить по смыслу ту же >самую конструкцию на:
event->SendError(«Hello»);
Т.е. в этом вызове не кроется логика обработки самого события, по >сути это просто отправка ответа на запрос.

Если event знает тип класса ошибки, то можно сделать шаблончик. Псевдокод:

class Event
{
 public:
    template<typename... ARGS>
    void sendError(ARGS&& ...args)
    {
        _eventReceiver->send(new ErrorA(std::forward<ARGS>(args)...)
    }
    
private:
    EventReceiver *_eventReceiver;
}

// отправка
event->sendError("Hello");

Исходная версия ox55ff, :

Сейчас возможна такая ситуация:
event->_eventReceiver->Send(new ErrorA{«hello»});
От этого я хочу закрыться интерфейсом и заменить по смыслу ту же >самую конструкцию на:
event->SendError(«Hello»);
Т.е. в этом вызове не кроется логика обработки самого события, по >сути это просто отправка ответа на запрос.

Если event знает тип класса ошибки, то можно сделать шаблончик. Псевдокод:

class Event
{
 public:
    template<typename... ARGS>
    void sendError(ARGS&& ...args)
    {
        _eventReceiver->send(new ErrorA(std::forward<Args>(args)...)
    }
    
private:
    EventReceiver *_eventReceiver;
}

// отправка
event->sendError("Hello");