← Voltar

Strategy.Name

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

Este tópico foi útil?

Compartilhar tópico

Comentários (5)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

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

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