2

我正在尝试使用 Unity 事件聚合器在应用程序的各个部分之间进行消息传递。目前,这是我想使用的 Prism 框架的唯一功能。我在理解我认为的基本概念时遇到了一些麻烦。

我的目标是在某些地方能够广播某个事件,然后在其他地方接收该事件。我发现这样做的代码需要访问 Unity 容器,据我所知,这需要在引导程序中进行配置,并且引导程序需要实例化窗口。在我只想使用事件聚合器的情况下,这似乎有很多额外的障碍。

有人可以为我指出正确的方向,以使用事件聚合器而不是 Prism 的其他代码吗?

4

2 回答 2

1

事实证明,需要做的就是实例化 prism 提供的 EventAggregator 类的一个实例。不需要容器。我是单例的。这是我使用的代码:

public class MyEventAggregator
{
    private static MyEventAggregator instance = new MyEventAggregator();

    public static MyEventAggregator GetInstance()
    {
        return instance;
    }

    private EventAggregator _Aggregator;
    public EventAggregator Aggregator
    {
        get
        {
            return _Aggregator;
        }
    }

    private MyEventAggregator()
    {
        _Aggregator = new EventAggregator();
    }
}
于 2011-08-12T23:22:59.317 回答
0

您不需要在引导程序中初始化 Unity 容器,并且不需要引导程序来实例化窗口。你可以在任何你想要的类中初始化你的 Unity 容器。唯一的问题是将 Unity 实例分布在您的应用程序中,以便在需要的地方获得可访问的引用。

于 2011-08-08T09:47:03.553 回答