我在ASP.NET MVC网站上有以下代码:
x.For<AccountController>().TheDefault.Is.ConstructedBy(() => new AccountController());
这段代码发出了一个警告,看起来很容易解释,但是由于某种原因,当我使用“ Use”方法时,它似乎不起作用。我知道我做错了事,希望能有所帮助。
警告是:
警告1'StructureMap.Configuration.DSL.Expressions.CreatePluginFamilyExpression.TheDefault'已过时:'“首选Use()方法”
谢谢。
最佳答案
如果您在XMLDoc中查看“使用”方法的第三个重载,它会说:
速记
Default.IsThis(@object)
因此,只需这样做:
For<AccountController>().Use(() => new AccountController());
尽管我不确定这是什么意思(在某些情况下需要具体内容时注入具体内容),除非这只是一个示例,而您实际上正在做其他事情。
通常,对于MVC控制器,您将创建一个ControllerFactory-我没有看到“明确”注入具体Controller的需要。
关于asp.net - 结构图中的默认构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3928692/