gpt4 book ai didi

c# - 如何在autofac中的解析时间上传递参数

转载 作者:行者123 更新时间:2023-12-04 12:12:29 34 4
gpt4 key购买 nike

我在 autofac 中编写了以下寄存器类型:

 builder.RegisterType<NoteBookContext>()
.As<DbContext>()
.WithParameter(ResolvedParameter.ForNamed<DbContext>("connectionstring"));

事实上,我编写这段代码是为了使用连接字符串参数注入(inject) NoteBookContext。 (即: new NoteBookContext(string connectionstring))

现在,如何在运行时传递参数值?

最佳答案

WithParameter方法具有接受委托(delegate)进行动态实例化的重载。

第一个参数是选择要设置的参数的谓词,而第二个是参数值提供者:

builder.RegisterType<NoteBookContext>()
.As<DbContext>()
.WithParameter((pi, c) => pi.Name == "connectionstring",
(pi, c) => c.Resolve<IConnectionStringProvider>().ConnectionString);

Passing Parameters to Register从 Autofac 文档中获取更多详细信息。

关于c# - 如何在autofac中的解析时间上传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36835865/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com