循环中的依赖注入

hig*_*ace 6 c# dependency-injection

下面这样做的正确方法是什么,这ParentClass取决于MyClass什么?

public class ParentClass
{
    public void MyFunction(IList<Foo> foos)
    {
        foreach (var bar in foos)
        {
            var myClass = new MyClass();
            myClass.DoStuff();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

Fab*_*bio 7

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

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