← 戻る

Передача параметра в Do в собственном StrategyRule

Подскажите, пожалуйста, возможно ли в своем правиле передать при активации какой-ли объект в метод Do (по аналогии с тем как правило SecurityNewTrades передает коллекцию сделок)? Метод Activate не принимает параметров и ничего не возвращает...


sealed class PeakRule : StrategyRule
		{
			public PeakRule(IExtremumStrategy strategy)
			{
				if (strategy == null)
					throw new ArgumentNullException("strategy");

				this.Strategy = strategy;
				this.Strategy.NewPeak += OnPeak;
			}

			private IExtremumStrategy Strategy { get; set; }

			private void OnPeak(PricePoint p)
			{
				//КАК ЗДЕСЬ ПЕРЕДАТЬ p?????
				base.Activate();
			}

			protected override void DisposeManaged()
			{
				this.Strategy.NewPeak -= OnPeak;
				base.DisposeManaged();
			}
		}

このトピックは参考になりましたか?

トピックを共有

コメント (1)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

ra81
ra81

InsiderHSE: Подскажите, пожалуйста, возможно ли в своем правиле передать при активации какой-ли объект в метод Do (по аналогии с тем как правило SecurityNewTrades передает коллекцию сделок)? Метод Activate не принимает параметров и ничего не возвращает... Полагаю вот так

    ```csharp

sealed class PeakRule : StrategyRule<PricePoint> { public PeakRule(IExtremumStrategy strategy) { if (strategy == null) throw new ArgumentNullException("strategy");

			this.Strategy = strategy;
			this.Strategy.NewPeak += OnPeak;
		}

		private IExtremumStrategy Strategy { get; set; }

		private void OnPeak(PricePoint p)
		{
			//КАК ЗДЕСЬ ПЕРЕДАТЬ p?????
			Activate(p);
		}

		protected override void DisposeManaged()
		{
			this.Strategy.NewPeak -= OnPeak;
			base.DisposeManaged();
		}
	}
InsiderHSE