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


Визуальный мониторинг
Atom
2/28/2012


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




Thanks:


< 1 2 
OvcharenkoVI

Avatar
Date: 2/29/2012
Reply


Спасибо!
Thanks:

Spiritschaser

Avatar
Date: 3/18/2012
Reply


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

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

Moadip

Avatar
Date: 3/18/2012
Reply


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


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

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

Code

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


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

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


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

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

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


Пример:
Code

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

....

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

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

Или короче
Code

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

....

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

class MyStrategy : Strategy
{
    this.AddInfoLog("Comment");
}
Thanks: Иван З.

Spiritschaser

Avatar
Date: 3/18/2012
Reply


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

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy