Визуальный мониторинг
Atom
28.02.2012


Нид хелп. Как создать такое окно логгирования? Не только для стратегии, есть ли такой пример?




Спасибо:


< 1 2 
OvcharenkoVI

Фотография
Дата: 29.02.2012
Ответить


Спасибо!
Спасибо:

Spiritschaser

Фотография
Дата: 18.03.2012
Ответить


Цитата:
чтобы допустим в окно с логами можно было добавлять произвольное сообщение.
Если так. То есть класс LoggingHelper и метод AddInfoLog.

А AddInfoLog требует в свою очередь LogReceiver, который как правильно делать вообще не понятно :(
Спасибо:

Moadip

Фотография
Дата: 18.03.2012
Ответить


Цитата:
А AddInfoLog требует в свою очередь LogReceiver, который как правильно делать вообще не понятно :(


Как работать с справкой.

Открываем справку с описанием AddInfoLog и видим

Код

public static void AddInfoLog(
	this ILogReceiver receiver,
	string message,
	params Object[] args
)


Если перейти по ссылке ILogReceiver, то попадем в описание, в котором написано что это интерфейс(также это видно из названия ILogReceiver ).
Из этого делается вывод, что в качестве параметра в AddInfoLog должен передаваться объект реализующий интерфейс ILogReceiver.

Далее посмотрим описание двух классов QuikTrader и Strategy
Код
public class QuikTrader : BaseTrader


Ничего интересного, переходим по ссылке BaseTrader
Код
public abstract class BaseTrader : Disposable, ITrader, IDisposable, ILogReceiver, ILogSource, IPersistable

BaseTrader реализует интерфейс ILogReceiver, а т.к. QuikTrader является его наследником то его можно использовать в качестве передаваемого параметра для AddInfoLog.

Аналогично и для Strategy
Код
public class Strategy : Equatable<Strategy>, INotifyPropertyChanged, ILogReceiver, ILogSource, IPersistable


Пример:
Код

_trader = new QuikTrader();
_myStrat = new MyStrategy();

....

LoggingHelper.AddInfoLog(_trader, "Comment");
LoggingHelper.AddInfoLog(_myStrat, "Comment");

class MyStrategy : Strategy
{
    LoggingHelper.AddInfoLog(this, "Comment");
}

Или короче
Код

_trader = new QuikTrader();
_myStrat = new MyStrategy();

....

_trader.AddInfoLog("Comment");
_myStrat.AddInfoLog("Comment");

class MyStrategy : Strategy
{
    this.AddInfoLog("Comment");
}
Спасибо: Иван З.

Spiritschaser

Фотография
Дата: 18.03.2012
Ответить


Большое спасибо!
Я бы сам не разобрался - у меня с ООП большие проблемы.
Спасибо:
< 1 2 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy