首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zenject -安装通用绑定

Zenject -安装通用绑定
EN

Stack Overflow用户
提问于 2017-08-31 06:32:27
回答 1查看 1.2K关注 0票数 1

日安。

我有一个接口:

代码语言:javascript
复制
public interface IRepository<T>
{
   //Stuff
}

和一个实现:

代码语言:javascript
复制
class Repository<T> : IRepository<T>
{
   //Stuff implementation
}

现在,我想将它们绑定到一个容器中。

我发现Zenject有点类似,所以我尝试了以下方法:

代码语言:javascript
复制
public class IoC : MonoInstaller
{
    public override void InstallBindings()
    {
         Container.Bind(typeof(IRepository<>)).To(typeof(Repository<>));
    }
}

这在我尝试验证场景时抛出异常(编辑-> Zenject ->验证当前场景):

代码语言:javascript
复制
Assert hit! Invalid type given during bind command.  
Expected type 'Assets.Sources.Core.Infrastructure.Repository`1[T]' to derive from
type 'IRepository`1'

所以我怀疑这是一种不正确的泛型绑定方式。我想知道什么才是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-31 14:30:59

这是Zenject的一个bug,现在应该已经修复了。您现在应该能够将抽象的开放泛型类型绑定到具体的开放泛型类型,如您的示例所示。

您可以尝试从github repo的主分支进行更新吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45970666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档