问题标签 [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.
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?
c# - 如何有条件地绑定数据?
如何有条件地将数据绑定到组合框?我有一个组合框,默认情况下应该显示一个 ID。但是,如果用户选中一个复选框,那么显示器应该同时显示 ID 和 NAME。例如,“OO1:山姆”。我的默认 ID 显示正确。我只是不确定如何根据复选框的“IsChecked”状态同时显示 ID 和 NAME。
WPF 和 C# .Net 3.5
c# - 仅当属性不为空时才进行条件依赖注入绑定
它是一个桌面应用程序,在访问底层数据源时必须模拟当前用户。
如何告诉 Ninject 在父对象的属性不为空之前不要绑定依赖项?
- 应用程序在启动时强制用户身份验证
- 一旦通过身份验证,对当前用户凭据的引用将保存在
IMembershipService
- 访问底层数据源需要对用户进行身份验证,以便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
而且,我仍然无法弄清楚如何让它在我的场景中工作。
更新
通过我的阅读,我开始怀疑上下文绑定可能比条件绑定更适合我的需要。
有什么想法吗?
每篇与条件绑定相关的文章都在谈论条件类型绑定,而不是条件状态绑定。
在我的场景中,它特别认为它是一个条件状态绑定,因此产生了关于上下文绑定的想法。
然后,我将有两个绑定。
- 在用户被认证之前
- 用户认证后
因此,也许我要么必须使用延迟注入,这将解决我的问题,因为ISessionFactory
应用程序启动时不需要实例。
我在这里有点失落......
protocols - 条件绑定中的绑定值必须是可选类型
我定义了一个协议:
以及符合该协议的类
我想以编程方式测试 Thing 类是否符合 Usable 协议。
但我得到了错误
如果我尝试
我得到错误
然后我添加@objc
到协议并得到错误
此时我在?
之后添加as
,最终修复了错误。
如何通过非@objc 协议的条件绑定来实现此功能,与“Advanced Swift”2014 WWDC Video 中的相同?
lisp - Common Lisp 中的条件变量绑定
我想用 2 个局部变量执行一个函数,但是这些变量的值应该取决于某些条件。例如,假设我有 2 个变量x
and y
,我想在let
if中交换它们y > x
。交换应该是临时的,我不想用rotatef
. 我的代码看起来像:
但是里面的表达式let
不是有效的 Lisp。如何有条件地为局部变量赋值?解决方法是将主体放入flet
并使用不同的参数调用它,但它看起来很笨拙:
swift - 到 [String] 的可选绑定(字符串:AnyObject)
我有一个从中检索到的 JSON 对象/字典AFNetworking
,我想有条件地将键解包到一个字符串数组中。
我收到以下错误消息:(String : AnyObject) is not convertible to [String]
。我不认为我可以进行类型转换person
,[String : Any]
因为它来自[String : AnyObject]
框架AFNetworking
。任何想法,将不胜感激。
string - 条件绑定的初始化程序必须具有可选类型,而不是 HTTPCookieStorage 上的“字符串”
不知道为什么我会收到这个错误,但是当我更新到 Swift 2 时我得到了它。
如果 let token = cookie.value {
条件绑定的初始化程序必须具有可选类型,而不是“字符串”
swift - 在单个 Switch 语句中进行模式匹配和条件绑定
有没有办法把这个if
//梯形图写成switch语句else if
?else
这是我的尝试:
它成功地选择了正确的路径,但//s
仍然是 type 。该检查对施放它们没有任何影响。这迫使我在使用前强制施放。i
b
Any
is
as!
switch
有没有办法在一个语句中打开类型并将其绑定到名称?
swift - 理解没有返回类型的闭包语法
我在这里第一次接触到 swift,我偶然发现了一个闭包语句,根据我目前对闭包如何编写的理解,这对我来说没有多大意义。这实际上是一个由两部分组成的问题,因为我也不太了解此闭包的条件绑定背后的意图/解释。
我抛出的代码块是这样的:
我的理解是闭包需要根据文档定义指定一个返回类型,(something1, something2) -> ()
所以从上面的代码中,这是否意味着 swift 可以通过不包括-> ()
?
我的假设是条件绑定语句只是说'如果错误 arg 被传递到这个闭包中,那么打印错误?
请在您的解释中使用尽可能多的细节,以便我进一步理解。干杯!