为什么一个人需要这个lambda:Function(x)x

Laancelot

我在一个旧的分支中找到了这一行,并且由于我对(无法访问的)作者非常尊重,所以我试图弄清一个特定的行,更确切地说是最后的lambda:

container.Register(Of ServiceStack.Configuration.IResolver)(Function(x) x)

container是一个Funq.Container通过ServiceStack智慧告诉我,lambda正在填充一个(factory As Func(Of Funq.Container, ServiceStack.Configuration.IResolver))

关于作者,我可以假设两件事:他是比我更好的编码器,并且他可能还没有完成。就目前而言,我猜测此lambda是有意的,而不是没有明确意图的未完成的代码,但是到目前为止,没有人可以帮助我理解为什么。

克雷格

该容器是依赖项注入容器。其他地方的代码将向容器询问接口实例。这里的代码是注册代码,它告诉容器如何提供IResolver此外,它的设计目的是接受工厂功能。稍后解析将调用该函数以产生所请求的IResolver

在这种情况下,容器本身似乎实现了IResolverlambda是一个返回其参数的函数,因此很简单;它的参数是a Funq.Container,并且返回a ServiceStack.Configuration.IResolver,因此可以编译的唯一方法是容器实现该接口。

因此:容器实现IResolver该代码注册了一个工厂函数,该函数总是在被调用时返回容器本身。

这样做似乎很奇怪。我一点都不了解ServiceStack,所以我不确定为什么要这样做。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么一个人会显式调用stat64?

为什么要为我而不是为另一个人编译程序?

简单的有线协议,一个人做什么?

一个人如何打破这个(非?)线程安全对象?

为什么对于gcc,“ UNIX”和“ unix”宏不是同一个人?

从arrayList中移除一个人

一个人如何代表空字符?

为什么一个人不能在`dcast`中有多个`value.var`?

为什么一个人可能会在R脚本中多次加载一个库?

一个人如何在本地运行aws lambda(java)进行测试

当一个人只能调用一个方法时,为什么要使用java.util.function.supplier?

.net核心为什么我一个人可以通过密钥获取IFormCollection

电子与铬:为什么一个人可以访问文件系统而另一个人不能访问文件系统?

给定一个人的名字,如何查询关于这个人的wikidata属性?

TASM一个人解决

绘制两个直方图。为什么一个人不能拥有kde而另一个人却没有kde?

一个人如何加总分?

一个人如何使用Ubuntu for Android?

为什么一个人根本不需要回路设备?

Learnyounode http被一个人收走

排名mysql并查询一个人

一个人让我发疯

从array中删除一个人

一个人可以保存填写的PDF,而另一个人不能保存

一个人如何访问超类?

为什么一个人的127.0.0.0/8地址可用?

如何生成一个人当前拥有X分数的上一年的数字?

组合3张表,输出一个人,一个技能,以及这个人是否有技能

价值不是由一个人激发的?