繁体   English   中英

带有接口的Unity扩展了另一个接口

[英]Unity with interface that extends another interface

我有一堂课:

public class Foo : IFoo
{
}

和两个接口:

Public interface IFoo : IBar<SomeType>
{
}

public interface IBar<T>
{
    DoSomething(T t);
}

我们正在使用XML Config,代码配置可以正常运行,但是web.config不能。

错误是这样的:

解决依赖关系失败,键入=“ IFoo”,名称=“(none)”。
发生以下异常:正在解决。
异常是:InvalidOperationException-当前类型IBar`1 [SomeType]是接口,不能构造。 您是否缺少类型映射?

mlns="http://schemas.microsoft.com/practices/2010/unity">
    <alias alias="IFoo"
        type="IFoo, Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4bf38905880b60b" />

    <alias alias="Foo"
        type="Foo, Something, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4bf38905880b60b" />

    <container name="SomeName">
        <register type="IFoo" mapTo="Foo" />
    </container>
</unity>

我相信您可能正在使用UnityContainer的默认实例,因为您没有提到有关使用容器的命名实例的任何内容。

<container name="SomeName">
    <register type="IFoo" mapTo="Foo" />
</container>

您正在将映射注册到“ SomeName”,而不是默认容器。

去掉

name="SomeName"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM