使用Unity 2.1解析接口

时间:2011-08-06 18:17:29

标签: c# unity-container

我有一个基本类试图使用Unity解析接口。

            IUnityContainer containter = new UnityContainer();

            containter.RegisterType<IRepositoryFactory>();

            IRepositoryFactory repositoryFactory = containter.Resolve<IRepositoryFactory>();

我的配置文件如下:

<unity>
    <containers>
        <container>
            <types>
                <type   name="IRepositoryFactory"
                        type="QuinntyneBrown.Interfaces.IRepositoryFactory"
                        mapTo="QuinntyneBrown.Photography.Factories.RepositoryFactory" />
            </types>
        </container>
    </containers>
</unity>

我收到以下错误:

依赖项的解析失败,type =“QuinntyneBrown.Interfaces.IRepositoryFactory”,name =“(none)”。 在解决时发生异常。

异常是:InvalidOperationException - 当前类型QuinntyneBrown.Interfaces.IRepositoryFactory是一个接口,无法构造。你错过了类型映射吗?

在例外时,容器是:

解析QuinntyneBrown.Interfaces.IRepositoryFactory,(无)

1 个答案:

答案 0 :(得分:1)

containter.RegisterType<IRepositoryFactory>();

这不会产生任何约束力。改为从配置文件加载绑定:

containter.LoadConfiguration();