gpt4 book ai didi

c# - 如何在 Dryloc (IOC) 中注册对象

转载 作者:太空狗 更新时间:2023-10-30 01:31:48 24 4
gpt4 key购买 nike

我决定在我的 C# 应用程序中更改 IOC。它从 Unity 转移到 Dryloc。我的问题是我不知道如何在容器中注册对象。

在 Unity 中它是这样工作的:

AppConfiguration config = new AppConfiguration(){...}

var container = new UnityContainer();
container.Register(config);

但是如何在 Dryloc 中做到这一点?

更新 1:

我试过这样的代码:

 AppConfiguration config = new AppConfiguration(){...}
var container = new DryIoc.Container();
container.RegisterInstance(config);

但 RegisterInstance 方法不存在。找到容器构造函数名称。我的应用正在使用:DryIoc.dll.2.7.1\lib\net45\DryIoc.dll

更新 2:

我使用的是 VS2012,附上图片: DryIOC problem

最佳答案

您使用 RegisterInstance 方法:

container.RegisterInstance(config);

如果必须注册它以通过接口(interface)解析,则必须将接口(interface)指定为通用参数:

container.RegisterInstance<IConfiguration>(config);

第一个示例将允许您通过类类型进行解析:

var appConfig = container.Resolve<AppConfiguration>();

请注意 RegisterInstance(以及即将接管的 UseInstance)方法是一个扩展方法。

对于您指定命名空间的更新示例,这不会从该命名空间引入扩展方法。

试试这个:

using DryIoc;

...

var container = new Container();
container.RegisterInstance(....);

关于c# - 如何在 Dryloc (IOC) 中注册对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39611725/

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