← Atrás

Strategy.Name

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

¿Le resultó útil este tema?

Compartir tema

Comentarios (5)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

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

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