Создание уникального правила у стратегии
Atom Ответить
06.10.2011


У меня имеется класс ImportantQuotes, в котором есть несколько Event'ов. Мне необходимо написать правило для стратегии, что при возникновении события у ImportantQuotes выполнялся какой-нибудь метод. Написал по образу и подобию из мануала StrategyRule:
Код

private sealed class BigButtAppearedRule : StrategyRule
        {

            public BigButtAppearedRule(Strategy strategy)
            {
                if (strategy == null)
                    throw new ArgumentNullException("strategy");

                this.Strategy = strategy;
                ExtendedGlassWindow.Instance._ImportantQuote.BigButtAppeared += OnStrategyActive;
            }

            private new Strategy Strategy { get; set; }

            private void OnStrategyActive()
            {
                base.Activate();
            }

            protected override void DisposeManaged()
            {
                ExtendedGlassWindow.Instance._ImportantQuote.BigButtAppeared -= OnStrategyActive;
                base.DisposeManaged();
            }
        }

Подскажите пожалуйста, как это вообще присоединить к стратегии и привести к виду .when(мое событие) .do(метод)

Теги:


Спасибо:




1 Ответов
esper

Фотография
Программист
Дата: 06.10.2011
Ответить


Делаем extension метод
Код
public static StrategyRule BigButtAppeared(this Strategy strategy)
{
    if (strategy == null)
        throw new ArgumentNullException("strategy");

    return new BigButtAppearedRule(strategy);
}


а далее как обычно

Код

this.Wneh(this.BigButtAppeared()).Do()
Спасибо: Dottz


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy