c# – 编译时构建后依赖注入IoC?

c# – 编译时构建后依赖注入IoC?,第1张

概述我目前使用 NInject将接口绑定到具体类型并将它们注入到我的类中.但是,我的理解是这是一个运行时间.对我来说,如果有人想改变我的应用程序的行为,它似乎是一个攻击点. 是否有任何东西可以让我将依赖注入IoC迁移到编译时间(阅读:构建后的IL编织/替换)? 详细说明 在我的代码中,我设置了一个绑定 Bind<IFoo>().To<Foo>()Bind<Bar>().ToSelf().InSing 我目前使用 NInject将接口绑定到具体类型并将它们注入到我的类中.但是,我的理解是这是一个运行时间.对我来说,如果有人想改变我的应用程序的行为,它似乎是一个攻击点.

是否有任何东西可以让我将依赖注入IoC迁移到编译时间(阅读:构建后的IL编织/替换)?

详细说明

在我的代码中,我设置了一个绑定

Bind<IFoo>().To<Foo>()Bind<bar>().ToSelf().InSingletonScope();

与ctor Foo(酒吧依赖)

在我的应用程序的根源(启动时)我解析图表

var foo = kernel.Get<IFoo>();

假设我没有服务定位器(anti-pattern anyway right?).所以我不再使用内核了.

现在我想要一个“post-build release-compile”,用instanciators替换内核的解析引擎,或者引用constant / singleton等.这样我的代码就像这样;

var foo = kernel.Get<IFoo>();

实际上,在我的最终构建阶段更换IL之后,它看起来像这样:

var bar = new bar(); var foo = new Foo(bar);

并且不再提及NInject了.

我对这个问题的理性是,我正在使用Fody来IL编织我所有的PropertyChanged提升器,我想知道是否可以为依赖注入执行类似的 *** 作.

解决方法 正如所讨论的那样,你所引用的理由并没有加起来.然而,Philip Laureano(linfu作者)在一段时间内做了 Hiro project,这是预部署DI.不知道它是否去过任何地方…… 总结

以上是内存溢出为你收集整理的c# – 编译时/构建后依赖注入IoC?全部内容,希望文章能够帮你解决c# – 编译时/构建后依赖注入IoC?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1245855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存