有人能想到将IOC变成控制台应用程序的好方法吗?
目前我们只是使用以下方法的静态类:
public static T Resolve<T>()
{
return dependencyResolver.Resolve<T>();
}
我希望这种体验是无缝的,但却无法想到从控制台应用程序实现这一目标的方法。
答案 0 :(得分:7)
您必须在某处进行服务定位符调用(Resolve<T>()
)。诀窍是让它尽可能地偏离正轨。对于控制台应用程序,此引导发生在Main()
方法中。在那里做,并尽量减少那些Resolve调用,你会很棒。对于大多数依赖项,请使用构造函数注入。
答案 1 :(得分:3)
控制台应用程序对IoC的Web或表单应用程序没有任何限制。您可以使用任何选择(Spring,Ninject,Unity等)。其中大多数都可以在控制台应用程序外部使用XML文件进行配置,而像Ninjector这样的应用程序需要在应用程序内部进行配置。
答案 2 :(得分:1)
我从控制台应用程序中使用了Spring.NET,没有任何问题。您只需将它指向您的配置文件,它将连接所有依赖项。然后你用那些对象做取决于你的控制台应用程序正在尝试做什么,当然。
答案 3 :(得分:1)
结帐Microsoft Unity。