Как автоматически зарегистрировать событие в Unity Container - PullRequest
1 голос
/ 29 декабря 2010

У меня есть класс с некоторым событием:

public class Foo

    {
        public event FooEventHandler FooEvent;

        public static void FooEvent(object sender, FooEventArgs fooEventEventArgs)
        {
            //...
        }
    }

Этот класс используется с Unity 1.2 (потому что я использую его в .Net Framework 2.0). Также у меня есть FooRepository класс, который реализует бизнес-логику. В этом классе я хочу добавить приватный метод OnFooEvent () . Как автоматически зарегистрировать это событие в контейнере Unity?

IUnityContainer _cont=new UnityContainer();
_cont.RegisterType<IRepository,FooRepository>();
var foo=_cont.Resolve<FooRepository>();

1 Ответ

0 голосов
/ 30 декабря 2010

Вы смотрели на быстрый запуск EventBroker, включенный в исходный код Unity?События проводки не включены по умолчанию, но быстрый запуск включает в себя пример расширения, которое будет автоматически связывать отправителей и получателей событий.

Другой вариант - взглянуть на руководство по составному приложению Prism .Там есть что-то, называемое EventAggregator, которое можно использовать независимо, чтобы также дать вам некоторые из этих возможностей.

...