1

我有一个主要的 Silverlight Shell 项目,它调用了几个 Silverlight 模块项目。我需要通过构造函数将参数传递给我的模块项目。

有人可以帮我解决这个问题吗?

4

2 回答 2

3

“一问就收”是国际奥委会的座右铭:)

Prism 通过UnityContainer使用注入。加载模块时,它将解析模块构造函数中指定的任何已注册接口。

只需为您之前注册为单例的对象指定一个接口,它将与任何模块一起传递给它。将所有设置/参数放在该单例中。

如果您需要更多信息,请询问。

于 2011-07-18T14:19:44.617 回答
1

向容器注册一个对象。

class MyBootStrapper : UnityBootstrapper
{
    protected override void ConfigureContainer()
    {
        base.ConfigureContainer();
        this.Container.RegisterInstance(typeof(IMyInterface), new MyInterfaceImpl());
    }
}

现在,模块构造函数愉快地接收到该对象。

class ContentModule : IModule
{
    private readonly IMyInterface _myInterfaceImpl;

    public ContentModule(IMyInterface myInterfaceImpl)
    {
        _myInterfaceImpl = myInterfaceImpl;
    }

    #region IModule Members
    //
    #endregion
}

礼貌:TrueBlueAussie

于 2014-03-09T17:39:03.343 回答