Если у вас возникла задача сделать метод, который будет выполнять долгую операцию, по окончании, которой надо сделать обработку результата и вынести это в отдельный класс, то очевидно вам придется подумать как сделать в этом классе событие, которое будет срабатывать во внешнем классе по окончании выполнения длинной операции. Для этого вам понадобится добавить 2-е строки в класс с длинной операцией:
class Candle
{
public delegate void Loaded(Candle c);
public event Loaded Load_Comleted;
... ... ...
public void Load()
{
Task t = Task.Run(() =>
{
// Long operation
... ... ...
Load_Comleted(this);
});
}
Во внешнем классе надо создать экземпляр сервисного класса, добавить обработчик события Load_Completed и вызвать долгий метод:
Candle c = new Candle(symbol, type, interval, procent);
c.Load_Comleted += Candle_Loaded;
c.Load();
Ну и в заключении надо реализовать сам обработчик завершения длинной операции, функцию Candle_Loaded: