0

我有一个班级 MyViewModel

public class MyViewModel : IMyViewModel {}

在我的主应用程序安装程序中,我有以下代码来使用 Zenject 的内置工厂 + 池功能来池 MyViewModel 类的实例

Container.BindFactory<MyViewModel, MyViewModel.Factory>().FromPoolableMemoryPool();

在另一堂课中,我有以下注射

[Inject]
private readonly MyViewModel.Factory myViewModelFactory;

我用

myViewModelFactory.Create()

获取 MyViewModel 类的池化实例

我的问题:我有另一个测试安装程序,我希望工厂返回 MyViewModel 的模拟实例,但不知道该怎么做。我尝试将工厂绑定更改为

Container.BindFactory<IMyViewModel, MyViewModel.Factory>().FromPoolableMemoryPool();

对 MyViewModel.Factory 也进行了相应的更改,但 Zenject 说我只能将非抽象类型传递给 BindFactory 方法。这是否可以实现这一点(让工厂返回模拟实例)而不必使用 IFactory 并自己处理池功能?

4

0 回答 0