← Zurück

Strategy.Name

Собственно что это такое зачем это нужно и с чем его едят) а также как им управлять. Создал два экземпляра своей стратегии class A : StrategyA t1 = new A(); A t2 = new A(); оба объекта (t1 и t2) имеют имя А. Возможно ли как-то изменить это имя или сразу создавать в своей стратегии переменную с именем @Name например

War dieses Thema hilfreich?

Thema teilen

Kommentare (5)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Конечно. Переопределите свойство.

Serg
Serg Autor

Имя переопределил. public new string Name { get; set; }

Создал класс (BUF) обработчик-буфер сообщений. в нем есть public void StrategyLog(Strategy arg1, StrategyErrorStates arg2, string mess)

после создании стратегии делаю так BUF b = new BUF(); strat.Log += b.StrategyLog;

Так вот в методе StrategyLog объекта b, arg1 это стратегия которая подписана на лог вернее ее родитель. и я никак не могу достучаться до своего переопределенного Name. arg1.Name != strat.Name

Mikhail Sukhov
Mikhail Sukhov

public override string Name { get;

Mikhail Sukhov
Mikhail Sukhov

new - это не переопределением, а скрытие... лучше вообще этой конструкцией не баловаться. плохой стиль.

Serg
Serg Autor

ок спасибо за инструкцию. буду иметь ввиду.