10

我是一名 Java 开发人员,我大量使用 Guice。现在我想学习 C#,但令我惊讶的是,我还没有找到与 Guice 等价的工具。我刚刚找到了 Ninject、Unity、StructureMap 等工具,但我正在寻找更多像 Guice 这样的工具。我不想手动写下我的所有注册......那么最好的选择是什么?

4

3 回答 3

6

我最喜欢的是Ninject。它有一个插件可以根据约定自动注册组件。

我实际上正在编写一个开源库来自动注册组件;它旨在支持我们在 .NET 中拥有的大多数当前 IoC 容器。这是您感兴趣的链接:https ://github.com/jupaol/NAutoRegister (查看开发者分支)。

使用AutoFac,您也可以轻松注册组件。

我已经检查了 Guice,它简直太棒了。一个好的举措是将 Guice 移植到 .Net,就像许多其他 Java 工具一样。

于 2012-06-01T05:38:47.950 回答
3

我没有使用过 Guice,所以如果您谈论组件的自动注册,许多 IOC 容器都提供了某种装配扫描。

查看AutoFac的文档,您可以看到它非常容易注册组件。

var dataAccess = Assembly.GetExecutingAssembly();

builder.RegisterAssemblyTypes(dataAccess)
    .Where(t => t.Name.EndsWith("Repository"))
    .AsImplementedInterfaces();
于 2012-06-01T05:34:00.377 回答
2

我已经为 C# 制作了一个 Guice 端口,其中包含一些我最喜欢的功能。相当小的代码库,但已通过 Unity3D 在超过 50M 的设备上使用,而且可能更多,因为我刚刚发现迪士尼目前也在使用它。

https://github.com/disturbing/suice

于 2016-03-23T13:42:44.787 回答