相关疑难解决方法(0)

Unity 2.0通过XML注册泛型类型

我试图在Unity 2.0的配置文件中注册一个泛型类型,但似乎无法正确.我在这里指的是MS文档:http://msdn.microsoft.com/en-us/library/ff660933%28v=PandP.20%29.aspx#_Generic_Types

代码如下所示:

public interface IRepository<T> where T : class
{
    ...
}

public class GenericRepository<T> : IRepository<T> where T : class
{
    ...
}

public class BlogRepository : GenericRepository<BlogRepository>
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我目前的XML配置是这样的:

<unity>
    <!-- Aliases -->
    <alias alias="BlogIRepository" 
           type="X.Services.Interfaces.IRepository[[X.Domain.Entities.Blog, X.Domain]], X.Services"/>

    <alias alias="BlogRepository" 
           type="X.Repositories.BlogRepository, X.Repositories"/>

    <!-- Type registration -->
    <container name="development">
        <!-- Common connection string value -->
        <instance name="Conn" type="System.String" value="blahblahblah"/>
        <register type="BlogIRepository" mapTo="BlogRepository">
            <constructor>
                <param name="connectionString" type="System.String" dependencyName="Conn"/>
            </constructor>
        </register>
    </container>
</unity>
Run Code Online (Sandbox Code Playgroud)

根据注册泛型类型的文档,你周围使用泛型类型方括号,如果类型不是系统类型你提供完全限定的类型里面更多的方括号.我想,这就是我所做的.然而 - …

.net generics configuration inversion-of-control unity-container

10
推荐指数
1
解决办法
1万
查看次数