我有一个班级 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 并自己处理池功能?