C# · 12月 23, 2021

c# – 循环中的依赖注入

执行以下操作的正确方法是什么,以便ParentClass不依赖于MyClass? public class ParentClass{ public void MyFunction(IList<Foo> foos) { foreach (var bar in foos) { var myClass = new MyClass(); myClass.DoStuff(); } }}

通常没有循环我只是用ParentClass构造函数注入它,但是在这里我需要为循环的每次迭代创建一个新实例.

或者也许有一种更好的方法来完成我想要实现的目标?也许myClass可以在每次迭代结束时重置自己,以便我可以重用它?

解决方法 您可以将创建MyClass实例的工厂对象注入ParentClass.

对于每个循环迭代,您调用工厂对象,以便为您提供MyClass的新实例.