当前位置: 首页 > 编程语言 > C#

NinjectConventions只针对公共课吗?分享

时间:2023-04-10 14:35:47 C#

NinjectConventions只针对公开课吗?我开始在我的项目中使用Ninject来自动绑定抽象类的所有子类。对此的绑定非常简单,如下所示:kernel.Bind(x=>x.FromThisAssembly().SelectAllClasses()..InheritedFrom().BindBase());但是,我发现这不起作用。经过一些实验,我发现这不起作用的原因是我所有的实现(和抽象类)都标记为内部。我可以想象这是一些安全功能,可以防止绑定从内部泄漏到外部。但是我可以为这些类添加显式绑定。所以,我的问题是:有谁知道这是否是预期的行为?除了公开我的所有课程之外,还有其他解决方法吗?将.SelectAllClasses()放在.SelectAllClasses().IncludingNonePublicTypes()之前,您的绑定也适用于内部类。另请参阅以下问题:Can'tgetNinject.Extensions.Conventionstowork我认为这与安全无关。我想这与设计和性能有关:仅从常见类型中进行选择比从所有类型中进行选择花费的时间更少。以上是C#学习教程:AreNinjectConventionsonlyapplicabletopubliccourses?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: