问题标签 [contextual-binding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parameters - ninject 2.0 中基于参数的绑定
我想根据传递的参数在 ninject 中使用条件绑定。我有如下内容:
现在我需要实例化 ITarget 接口:
我无法定义正确的绑定。我尝试了以下方法:
但我不知道如何获取传递参数的值。我需要将 IContext 实例传递给 GetValue 方法,但不知道如何获取 IContext 的有效实例。或者也许有更好的方法来完成我的任务?
编辑:BindingMetadata 是解决我的问题的更好方法。有关详细信息,请参阅Ninject 2.0 的上下文绑定
问候
parameters - Ninject 2.0 的上下文绑定
在 Ninject 1.0 中,我有以下绑定定义:
鉴于这样的绑定,我有电话:
第一次调用被解析为 Target1 的实例,第二次调用被解析为 Target2 的实例。
如何将其翻译成 Ninject 2.0?
ninject - Autofac vs Ninject 上下文绑定?
1)Autofac和Ninject,哪个在上下文绑定方面更好?
2) 使用 Ninject,我可以绑定到特定命名空间中的类型:
我可以用 Autofac 做到这一点吗?
谢谢!
(对不起我的英语不好)
.net - 运行时的 Ninject 上下文绑定
我正在尝试了解 Ninject 上下文绑定。我了解在设计时了解我的上下文的场景。例如,我知道当我想在测试类中使用它时,我可以使用命名属性将 DB 对象绑定到一个模拟 DB,当我从我的实际代码中使用它时,我可以使用它来绑定到一个 SQL DB。
但是,我不知道如何在运行时处理上下文绑定。例如,假设我正在为购物中心编写软件。店主可以使用键盘进行计费或使用条形码扫描仪。我不知道他会事先使用哪一个。他可能会在未来的某个时候添加其他扫描方式,例如 RFID。
所以我有以下内容:
那么,我怎样才能用最少的自定义代码来实现呢?我想请求特定的代码示例,而不是指向有关上下文绑定的文章/wikis/教程的链接。
binding - 向上搜索以查找类型的 Ninject 绑定约束
我有一个像这样的类层次结构(简化):
我有多个 IConnectionConfiguration 和 IService 的实现。我想创建一个提供者/绑定,它:
- 构造一个新的 Connection 实例。
- GetAll 并将其应用于连接。
- 绑定根据要构造的 IService 的类型指定要使用的 IConnectionConfiguration 实现
目前我有一个这样的提供者实现:
但是当我尝试为 IConnectionConfiguration 进行上下文绑定时,它没有父请求或父上下文...
我在这里做错了什么?我可以用ninject做到这一点吗?
internationalization - Drupal7:上下文过滤器如何:内容:Nid 在 Views3 中返回 TNID 而不是 NID
我有一个上下文过滤器: Content: Nid in Views3 我想在过滤器值不可用时返回 TNID 而不是 NID 。
我试过
或者
和其他来自提供默认值:PHP 代码字段。没有任何效果。
ninject - 忍者获取当目标有
所以我正在使用 Ninject,特别是上下文绑定如下:
我需要使用 Kernel 来获取给定的实例,并希望根据 Condition 来做WhenTargetHas<T>
。像下面这样的东西会很棒。
如何根据条件检索实例?
inheritance - Ninject Binding“全部继承自 x”
很常见的场景:
我真的想知道是否可以创建解决所有从 A 继承的 Ninject 绑定,如下所示:
这当然只适用于类型 A 的请求。对 B 和 C 的请求以默认方式处理。
提前致谢
ninject - 上下文绑定和惰性的 Ninject 问题
Ninject 似乎没有正确使用WhenInjectedInto约束,同时也使用Lazy<T>。检查以下示例。OnLandAttack和OnLandAttackLazy都应该使用Samurai实例。但是 Lazy<T> 版本以SpecialNinja实例结束。我猜这是因为它实际上并没有在构造函数中初始化?但我认为该类型仍应正确注册。我错过了什么吗?仅供参考,这是使用 Ninject 3.2.2 和 Ninject.Extensions.Factory 扩展 3.2.1