我有一个主要的 Silverlight Shell 项目,它调用了几个 Silverlight 模块项目。我需要通过构造函数将参数传递给我的模块项目。
有人可以帮我解决这个问题吗?
我有一个主要的 Silverlight Shell 项目,它调用了几个 Silverlight 模块项目。我需要通过构造函数将参数传递给我的模块项目。
有人可以帮我解决这个问题吗?
“一问就收”是国际奥委会的座右铭:)
Prism 通过UnityContainer使用注入。加载模块时,它将解析模块构造函数中指定的任何已注册接口。
只需为您之前注册为单例的对象指定一个接口,它将与任何模块一起传递给它。将所有设置/参数放在该单例中。
如果您需要更多信息,请询问。
向容器注册一个对象。
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