我似乎无法在任何地方找到Microsoft.Practices.Unity.StaticFactory.dll。
是否有另一种注册静态工厂的方法?
寻找类似的东西
container.RegisterFactory(()=> FooFactory.CreateFoo());
答案 0 :(得分:14)
StaticFactory.dll作为Unity 2.0的一部分进入主程序集。它通常很有用,我们不想强迫人们携带一个单独的DLL来获取它。
因此,您仍然可以使用现有的API,您只需添加程序集引用即可。但是,我们已弃用旧API。可以添加扩展名,但不执行任何操作,它已包含在容器中。现在,您可以通过以下方式在容器中注册工厂:
container.RegisterType<IFoo, Foo>(new InjectionFactory(c => new Foo());
其中c是解析实例的容器。还可以选择传递要解析的类型和名称。
我们弃用旧的API,因为它使用起来非常笨拙,而且它不再是扩展。
答案 1 :(得分:0)
RegisterFactory方法是StaticFactoryExtension类的一部分,已弃用,因为您可以看到here。
如果您正在寻找工厂扩展程序,this thread应该会有帮助。
我希望这会有所帮助。
谢谢, 达米安