2014-02-19 37 views
0

我只是C#的新手,并试图在我的项目中通过代码进行调试。在这么多的地方,我可以看到这条线在C#中的含义是什么?

ServiceContainer.Resolve<MyClass> 

我只是想知道这是否会每次都返回相同的对象,也将创造MyClass的一个新对象每次它被调用的时间吗?

我有两个类classA和classB。分别放置在命名空间A和B中。名字空间A对B有依赖性,但我需要classB中classA的对象。我无法在A(循环依赖)中创建B的依赖关系。我如何在ClassB中创建ClassA的对象?我希望我很清楚

+3

该行没有任何上下文,意味着什么。 – crashmstr

+0

发布您的代码,让我们知道你是如何使用它? – Sachin

+0

阅读以下内容 http://stackoverflow.com/questions/2176833/ioc-resolve-vs-constructor-injection – Mayank

回答

2

它会返回什么取决于底层IoC(控制反转)配置。您可以配置(大多数)IoC容器返回,包括相同的实例,每个Resolve一个实例,每个线程一个实例,每个http请求一个实例等。

还有几种指定MyClass如何映射到AnotherImplementationOfMyClass(通常MyClass是一个接口)。

通常你会发现映射的范围和映射配置。 Here你可以找到Ninject的例子