问题标签 [conditional-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 投票
2 回答
1305 浏览

c# - 如何有条件地绑定数据?

如何有条件地将数据绑定到组合框?我有一个组合框,默认情况下应该显示一个 ID。但是,如果用户选中一个复选框,那么显示器应该同时显示 ID 和 NAME。例如,“OO1:山姆”。我的默认 ID 显示正确。我只是不确定如何根据复选框的“IsChecked”状态同时显示 ID 和 NAME。

WPF 和 C# .Net 3.5

0 投票
1 回答
1408 浏览

c# - 仅当属性不为空时才进行条件依赖注入绑定

它是一个桌面应用程序,在访问底层数据源时必须模拟当前用户。

如何告诉 Ninject 在父对象的属性不为空之前不要绑定依赖项?

  1. 应用程序在启动时强制用户身份验证
  2. 一旦通过身份验证,对当前用户凭据的引用将保存在IMembershipService
  3. 访问底层数据源需要对用户进行身份验证,以便commection 字符串声明要模拟的凭据

我实际上使用的是 NHibernate,我需要根据身份验证时提供的用户凭据动态创建连接字符串。

所以我想实现:

由于SessionProviderFactory取决于IMembershipService.CurrentUser.

我知道这可能不是本世纪的设计,除了我现在需要它以这种方式工作,以便我可以交付我的潜在可交付产品。之后我会很高兴重构。

SessionFactoryProvider

会话提供者

事实是我无法IMembershipService.CurrentUser在应用程序启动时实例化。用户必须首先对系统进行身份验证,因此ActivationException.

激活 ISession 时出错

没有匹配的绑定可用,并且该类型不可自绑定。

激活路径:

3) InquiriesRepository 类型的构造函数的参数 session 中注入依赖 ISession

2) 将依赖 IInquiriesRepository 注入到 InquiriesManagementPresenter 类型的构造函数的参数存储库中

1) 询价管理Presenter

建议:

1) 确保您已经为 ISession 定义了绑定。

2) 如果绑定是在模块中定义的,请确保该模块已加载到内核中。

3) 确保您没有意外创建多个内核。

4) 如果您使用构造函数参数,请确保参数名称与构造函数参数名称匹配。

5) 如果您使用自动模块加载,请确保搜索路径和过滤器正确。

那么,我该怎么做呢?

欢迎任何设计改进建议。但请记住,我需要它才能正常工作。我将为下一次交付进行重构。

编辑

看起来我也许可以使用上下文/范围依赖注入。

How to use the additional Ninject Scopes of NamedScope

而且,我仍然无法弄清楚如何让它在我的场景中工作。

更新

通过我的阅读,我开始怀疑上下文绑定可能比条件绑定更适合我的需要。

有什么想法吗?

每篇与条件绑定相关的文章都在谈论条件类型绑定,而不是条件状态绑定。

在我的场景中,它特别认为它是一个条件状态绑定,因此产生了关于上下文绑定的想法。

然后,我将有两个绑定。

  1. 在用户被认证之前
  2. 用户认证后

因此,也许我要么必须使用延迟注入,这将解决我的问题,因为ISessionFactory应用程序启动时不需要实例。

我在这里有点失落......

0 投票
5 回答
21257 浏览

protocols - 条件绑定中的绑定值必须是可选类型

我定义了一个协议:

以及符合该协议的类

我想以编程方式测试 Thing 类是否符合 Usable 协议。

但我得到了错误

如果我尝试

我得到错误

然后我添加@objc到协议并得到错误

此时我在?之后添加as,最终修复了错误。

如何通过非@objc 协议的条件绑定来实现此功能,与“Advanced Swift”2014 WWDC Video 中的相同?

0 投票
6 回答
1896 浏览

lisp - Common Lisp 中的条件变量绑定

我想用 2 个局部变量执行一个函数,但是这些变量的值应该取决于某些条件。例如,假设我有 2 个变量xand y,我想在letif中交换它们y > x。交换应该是临时的,我不想用rotatef. 我的代码看起来像:

但是里面的表达式let不是有效的 Lisp。如何有条件地为局部变量赋值?解决方法是将主体放入flet并使用不同的参数调用它,但它看起来很笨拙:

0 投票
1 回答
742 浏览

swift - 到 [String] 的可选绑定(字符串:AnyObject)

我有一个从中检索到的 JSON 对象/字典AFNetworking,我想有条件地将键解包到一个字符串数组中。

我收到以下错误消息:(String : AnyObject) is not convertible to [String]。我不认为我可以进行类型转换person[String : Any]因为它来自[String : AnyObject]框架AFNetworking。任何想法,将不胜感激。

0 投票
1 回答
529 浏览

string - 条件绑定的初始化程序必须具有可选类型,而不是 HTTPCookieStorage 上的“字符串”

不知道为什么我会收到这个错误,但是当我更新到 Swift 2 时我得到了它。

如果 let token = cookie.value {

条件绑定的初始化程序必须具有可选类型,而不是“字符串”

0 投票
1 回答
552 浏览

swift - 在单个 Switch 语句中进行模式匹配和条件绑定

有没有办法把这个if//梯形图写成switch语句else ifelse

这是我的尝试:

它成功地选择了正确的路径,但//s仍然是 type 。该检查对施放它们没有任何影响。这迫使我在使用前强制施放。ibAnyisas!

switch有没有办法在一个语句中打开类型并将其绑定到名称?

0 投票
2 回答
1522 浏览

swift - 理解没有返回类型的闭包语法

我在这里第一次接触到 swift,我偶然发现了一个闭包语句,根据我目前对闭包如何编写的理解,这对我来说没有多大意义。这实际上是一个由两部分组成的问题,因为我也不太了解此闭包的条件绑定背后的意图/解释。

我抛出的代码块是这样的:

我的理解是闭包需要根据文档定义指定一个返回类型,(something1, something2) -> ()所以从上面的代码中,这是否意味着 swift 可以通过不包括-> ()?

我的假设是条件绑定语句只是说'如果错误 arg 被传递到这个闭包中,那么打印错误?

请在您的解释中使用尽可能多的细节,以便我进一步理解。干杯!