← 返回

Strategy.Name

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

本主题对您有帮助吗?

分享主题

评论 (5)

登录创建账户, 登录或注册以发表评论

Mikhail Sukhov
Mikhail Sukhov

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

Serg
Serg 作者

Имя переопределил. 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 作者

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