c# – 编译时/构建后依赖注入IoC?
发布时间:2020-12-15 08:01:37 所属栏目:百科 来源:网络整理
导读:我目前使用 NInject将接口绑定到具体类型并将它们注入到我的类中.但是,我的理解是这是一个运行时间.对我来说,如果有人想改变我的应用程序的行为,它似乎是一个攻击点. 是否有任何东西可以让我将依赖注入IoC迁移到编译时间(阅读:构建后的IL编织/替换)? 详细
我目前使用
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.不知道它是否去过任何地方……
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |