问题标签 [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.

0 投票
2 回答
3044 浏览

parameters - ninject 2.0 中基于参数的绑定

我想根据传递的参数在 ninject 中使用条件绑定。我有如下内容:

现在我需要实例化 ITarget 接口:

我无法定义正确的绑定。我尝试了以下方法:

但我不知道如何获取传递参数的值。我需要将 IContext 实例传递给 GetValue 方法,但不知道如何获取 IContext 的有效实例。或者也许有更好的方法来完成我的任务?

编辑:BindingMetadata 是解决我的问题的更好方法。有关详细信息,请参阅Ninject 2.0 的上下文绑定

问候

0 投票
1 回答
3365 浏览

parameters - Ninject 2.0 的上下文绑定

在 Ninject 1.0 中,我有以下绑定定义:

鉴于这样的绑定,我有电话:

第一次调用被解析为 Target1 的实例,第二次调用被解析为 Target2 的实例。

如何将其翻译成 Ninject 2.0?

0 投票
1 回答
1959 浏览

ninject - Autofac vs Ninject 上下文绑定?

1)Autofac和Ninject,哪个在上下文绑定方面更好?

2) 使用 Ninject,我可以绑定到特定命名空间中的类型:

我可以用 Autofac 做到这一点吗?

谢谢!

(对不起我的英语不好)

0 投票
1 回答
1714 浏览

.net - 运行时的 Ninject 上下文绑定

我正在尝试了解 Ninject 上下文绑定。我了解在设计时了解我的上下文的场景。例如,我知道当我想在测试类中使用它时,我可以使用命名属性将 DB 对象绑定到一个模拟 DB,当我从我的实际代码中使用它时,我可以使用它来绑定到一个 SQL DB。

但是,我不知道如何在运行时处理上下文绑定。例如,假设我正在为购物中心编写软件。店主可以使用键盘进行计费或使用条形码扫描仪。我不知道他会事先使用哪一个。他可能会在未来的某个时候添加其他扫描方式,例如 RFID。

所以我有以下内容:

那么,我怎样才能用最少的自定义代码来实现呢?我想请求特定的代码示例,而不是指向有关上下文绑定的文章/wikis/教程的链接。

0 投票
1 回答
474 浏览

binding - 向上搜索以查找类型的 Ninject 绑定约束

我有一个像这样的类层次结构(简化):

我有多个 IConnectionConfiguration 和 IService 的实现。我想创建一个提供者/绑定,它:

  1. 构造一个新的 Connection 实例。
  2. GetAll 并将其应用于连接。
  3. 绑定根据要构造的 IService 的类型指定要使用的 IConnectionConfiguration 实现

目前我有一个这样的提供者实现:

但是当我尝试为 IConnectionConfiguration 进行上下文绑定时,它没有父请求或父上下文...

我在这里做错了什么?我可以用ninject做到这一点吗?

0 投票
1 回答
523 浏览

internationalization - Drupal7:上下文过滤器如何:内容:Nid 在 Views3 中返回 TNID 而不是 NID

我有一个上下文过滤器: Content: Nid in Views3 我想在过滤器值不可用时返回 TNID 而不是 NID 。

我试过

或者

和其他来自提供默认值:PHP 代码字段。没有任何效果。

0 投票
1 回答
698 浏览

ninject - 忍者获取当目标有

所以我正在使用 Ninject,特别是上下文绑定如下:

我需要使用 Kernel 来获取给定的实例,并希望根据 Condition 来做WhenTargetHas<T>。像下面这样的东西会很棒。

如何根据条件检索实例?

0 投票
1 回答
742 浏览

inheritance - Ninject Binding“全部继承自 x”

很常见的场景:

我真的想知道是否可以创建解决所有从 A 继承的 Ninject 绑定,如下所示:

这当然只适用于类型 A 的请求。对 B 和 C 的请求以默认方式处理。

提前致谢

0 投票
1 回答
765 浏览

ninject - 是什么导致 Ninject.Activation.IRequest Target 属性为空

可能是一个简单的问题,但我在文档或 SO 中没有找到任何直接回答它的内容。

我必须第一次使用 NinjectWhen(Func<IRequest, bool> condition)扩展方法,并因空对象异常而挂断了一点。我发现该IRequest.Target属性有时为空,并且我还看到了其他 一些使用When该检查是否为空Target的示例。

我很好奇 Ninject 在没有值的情况下执行回调的条件Target。创建表单的绑定时

我最初错误地假设在执行绑定时总会有一个有效Target的类型。T1

0 投票
0 回答
158 浏览

ninject - 上下文绑定和惰性的 Ninject 问题

Ninject 似乎没有正确使用WhenInjectedInto约束,同时也使用Lazy<T>。检查以下示例。OnLandAttack和OnLandAttackLazy应该使用Samurai实例。但是 Lazy<T> 版本以SpecialNinja实例结束。我猜这是因为它实际上并没有在构造函数中初始化?但我认为该类型仍应正确注册。我错过了什么吗?仅供参考,这是使用 Ninject 3.2.2 和 Ninject.Extensions.Factory 扩展 3.2.1