未声明Autofac范围

时间:2019-01-26 18:25:38

标签: c# vb.net autofac

我正在按照此处的说明进行操作: https://autofaccn.readthedocs.io/en/latest/resolve/parameters.html

但是下面一行我得到“未声明范围”

Dim myClass As MyClass = scope.Resolve(Of MyClass)(New NamedParameter("configSectionName", "sectionName"))

或:

var myClass = scope.Resolve<MyClass>(new NamedParameter("configSectionName", "sectionName"));

这在文件后面的代码中,我只是想将参数传递给构造函数。

在C#或VB.net中的任何建议,或者只是关于可能出问题的指针

1 个答案:

答案 0 :(得分:0)

基于问题编辑,此解决方案基于 c#

您似乎没有使用Build()构建构建器,或者没有像应该那样注册MyClass

ContainerBuilder builder = new ContainerBuilder();

builder.Register((c, p) => new MyClass(p.Named<string>("configSectionName")));

现在只需构建容器:

IContainer scope = builder.Build();

MyClass log = scope.Resolve<MyClass>(new NamedParameter("configSectionName", "sectionName"));