Собственно что это такое зачем это нужно и с чем его едят) а также как им управлять. Создал два экземпляра своей стратегии class A : StrategyA t1 = new A(); A t2 = new A(); оба объекта (t1 и t2) имеют имя А. Возможно ли как-то изменить это имя или сразу создавать в своей стратегии переменную с именем @Name например
コメント (5)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Конечно. Переопределите свойство.
Имя переопределил. 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
public override string Name { get;
new - это не переопределением, а скрытие... лучше вообще этой конструкцией не баловаться. плохой стиль.
ок спасибо за инструкцию. буду иметь ввиду.