我已經開始一個項目usinjg MS Unity作爲我的IOC容器,並且有兩個關於覆蓋參數的問題。使用UNITY覆蓋對象參數
public interface ITab
{
bool AllowVisible {get;set;}
}
class Tab : ITab
{
IViewModel vm;
public Tab(IViewModel vm)
{
this.vm = vm;
}
public bool allowVisible = false;
public bool AllowVisible
{
get{ return allowVisible};
set{ allowVisible = vlaue};
}
}
public interface IViewModule
{
string Name;
}
public class ViewModel
{
public string Name;
}
1)如何設置了團結的標籤類型,這樣我就可以在真或假傳遞給AllowVisible財產作爲paramater?我不想要添加 附加行tab.AllowVisible = true;如下
void Main()
{
ITab tab = unityContainer.RegisterType<ITab, Tab>();
tab.AllowVisible = true;
}
2)的情況下,如果我已經有視圖模型的實例,例如VM在下面的情況下,如何使該容器解決標籤對象而將vm對象傳遞給它的構造函數?目前,當我解決了標籤對象時,容器創建視圖模型的另一個實例。 我想讓vm實例用作tab對象viewmodel?
void Main()
{
unityContainer.RegisterType<IViewModel, ViewModel>();
unityContainer.RegisterType<ITab, Tab>();
ViewModel vm = unityContainer.Resolve<IViewModel>();
ITab tab = unityContainer.RegisterType<ITab, Tab>();
}