Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的Guice等价#_C#_Java_Inversion Of Control_Guice - Fatal编程技术网

C# C语言中的Guice等价#

C# C语言中的Guice等价#,c#,java,inversion-of-control,guice,C#,Java,Inversion Of Control,Guice,我是一名Java开发人员,我大量使用Guice。现在我想学习C#,但令我惊讶的是,我还没有找到一个与Guice相当的。我刚刚找到了Ninject、Unity、StructureMap等工具,但我更喜欢Guice等工具。我不想手动写下我所有的注册。。。那么最好的选择是什么呢?我还没有使用Guice,所以如果您谈到组件的自动注册,许多IOC容器都提供某种程序集扫描 看一下的文档,您可以看到注册组件非常容易 var dataAccess = Assembly.GetExecutingAssembly(

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

我还没有使用Guice,所以如果您谈到组件的自动注册,许多IOC容器都提供某种程序集扫描

看一下的文档,您可以看到注册组件非常容易

var dataAccess = Assembly.GetExecutingAssembly();

builder.RegisterAssemblyTypes(dataAccess)
    .Where(t => t.Name.EndsWith("Repository"))
    .AsImplementedInterfaces();

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

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

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


我已经看过Guice了,它简直太棒了。一个很好的方法是将Guice移植到.Net,就像许多其他Java工具一样。

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


好吧,我们拭目以待。。。。我有一个开放的想法,但很难完全改用C(因为Guice缺失了=((()如果你决定移植Guice,我会帮助=))我不认为C是“有史以来最好的语言”。我比Java更喜欢它。但这并不是“最好”的理由像往常一样,许多工具都是从Java移植到C#的,但出于好奇,你仍然不想回到黑暗面(ever=),你缺少什么功能?