C# 为Unity注入类调用构造函数

C# 为Unity注入类调用构造函数,c#,dependency-injection,unity-container,C#,Dependency Injection,Unity Container,这是我的MS Unity代码,注册了IDatabase接口的两个实现。EmpCatalog的构造函数实现其中一个数据库,并使用Unity resolve方法创建 IUnityContainer objContainer = new UnityContainer(); objContainer.RegisterType<EmpCatalogue>(); objContainer.RegisterType<IDatabase, Database>(); objContain

这是我的MS Unity代码,注册了IDatabase接口的两个实现。EmpCatalog的构造函数实现其中一个数据库,并使用Unity resolve方法创建

IUnityContainer objContainer = new UnityContainer();

objContainer.RegisterType<EmpCatalogue>();
objContainer.RegisterType<IDatabase, Database>();
objContainer.RegisterType<IDatabase, XmlDatabase>();

EmpCatalogue emp = objContainer.Resolve<EmpCatalogue>();
empcatalog
的构造函数如下所示

public EmpCatalogue(IDatabase idb)
{
    this.idb = idb;
}

我不确定如何实例化在另一个类的Unity容器中注册的类。我应该重构我的代码以避免这种情况,还是有办法获得
empcatalog
UI\u控制器
类中使用的引用?

实现
empcatabase
需要哪些
<代码>数据库
XmlDatabase
?当
empcatalog
得到另一个实现时会发生什么?它会继续工作还是会中断?
IDatabase
实现需要哪些
empcatalog
功能<代码>数据库或
XmlDatabase
?当
empcatalog
得到另一个实现时会发生什么?它会继续工作还是会坏?
public EmpCatalogue(IDatabase idb)
{
    this.idb = idb;
}