问题标签 [method-chaining]
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.
php - PHP:防止链式方法返回?
对于一个返回值的非常简单的 PHP 类的方法链接,我有些头疼,有时需要经过解密过程:
该get
方法是返回所在的位置。因此,对第二行上的方法的调用decrypt
在当前状态下不会起作用。
我可以做些什么来设置该get
方法仅在没有链接到它时才返回,或者重构此代码的最佳方法是什么?
validation - 编写支持流畅接口(调用链)的 C# 方法参数验证的问题
我正在尝试编写一个可以链接的通用方法参数验证功能(流利的接口)以附加越来越多的验证/检查,例如:
我想在使用它们之前使用这个帮助类来测试某些值的方法参数(大部分时间null
都会被测试)。
现状_
我首先开始编写静态辅助类,但没有使用如下Create()
方法:
但这不允许链接。这就是为什么我创建了一个Create()
方法来返回可以被链式扩展方法使用的东西。
问题
- 我想避免多次
Compile()
调用,所以基本上我的Create()
方法应该返回Func<T>
,而拒绝方法应该是Func<T>
. - 如果我
Create()
确实返回Func<T>
,我没有机会读取应该提供给各种异常的参数名称(使用MemberExpression
)。 - 如果我返回
Expression<Func<T>>
,我将不得不调用Compile()
每个Reject
扩展方法。
问题
- 是否有已经进行这种链接的 C# 库?
- 如果没有,你建议如何做到这一点?来自网络的任何示例都将受到热烈欢迎。
附加说明
我应该指出,复杂/长验证调用代码在这里不是一个选项,因为我当前的验证是这样完成的:
或者
它有两个主要缺点:
- 我一遍又一遍地重复相同的代码行
- 它使用魔术字符串
因此,验证应按照上述所需场景中的每次检查使用一个衬垫来完成。
php - PHP:变量变量中的类属性链接
所以,我有一个结构类似于下面的对象,所有这些都作为stdClass
对象返回给我
等等......(注意这些例子没有链接在一起)。
是否可以使用变量变量contact->phone
作为直接属性调用$person
?
例如:
这不会按原样工作并抛出 aE_NOTICE
所以我正在尝试制定一种替代方法来实现这一点。
有任何想法吗?
针对与代理方法相关的答案:
除了这个对象来自一个库之外,我会使用它来使用数组映射填充一个新对象,如下所示:
然后遍历地图以填充新对象。我想我可以代替映射器...
c# - 链接 c# 看起来像 jQuery 是个好主意吗?
我正在考虑使用扩展方法来链接 ac# 语句,使其看起来像下面的 jQuery:
这是一个好/坏主意吗?
更新:更多解释作为我正在考虑的“为什么”。 我有两件事:
- 我从一个对象获取数据并使用它来设置另一个对象的属性。
- 我需要对这些属性执行一些操作。
所以我的初始代码看起来更像
相反,我认为写起来可能更具描述性:
初始化器很棒,但它们也将属性捆绑在一起,我希望属性集接近我将对它们执行的操作。
c++ - 序列点和方法链
以下表达式通常用于演示未定义的未指定行为:
如果f()
和g()
两者都对某些共享对象有副作用,则行为未定义未指定,因为执行顺序未知。f()
可以在之前进行评估,g()
反之亦然。
现在我想知道当你在一个对象上链接成员函数时会发生什么。假设我有一个类的实例,该实例被调用obj
并且它有两个成员函数,foo()
它们bar()
都修改了对象。这些函数的执行顺序不可交换。在另一个之前调用它们的效果与反过来调用它们的效果不同。这两种方法都返回一个引用,*this
以便可以像这样链接它们:
但这是未指明的行为吗?我在标准中找不到任何东西(诚然只是浏览)可以区分这个表达式和我在帖子顶部给出的表达式。两个函数调用都是完整表达式的子表达式,因此它们的执行顺序是未指定的。但肯定foo()
必须首先评估,以便bar()
知道要修改哪个对象。
也许我遗漏了一些明显的东西,但我看不到序列点的创建位置。
javascript - jQuery 链接比单独的语句更快?
编写对 jQuery 函数的单独调用还是使用单个链更快?如果添加解释为什么一个比另一个更快,将不胜感激:-)
一个例子:
快/慢于
c++ - 在不同的类继承级别调用一系列函数
鉴于:
所以,
这将起作用,因为Baz()
包含所有方法,包括Method2()
, Bar
contains Method1()
;
但是,由于返回类型,这似乎是一个坏主意 -Method1()
在调用更复杂之前在第一个继承级别访问更简单时Method3()
,并且必须将此调用保持在单行中。
另外,有人告诉我,将其中一个放入try.. catch.. throw
其中Method's
偶尔会退出链,而不会以错误的值调用 next 方法。这是真的?
那么如何在 C++ 中正确实现方法链呢?
ruby-on-rails - 有一个更好的方法吗?即更好地链接命名范围
这段代码运行良好,但我正在查看它并认为它可能更清洁。也许有一种更惯用的 ruby / rails 方式来做到这一点?顺序很重要,因为 member_of 范围必须在最后但在分页之前(返回集合而不是范围)
这样做的一个优点是很清楚发生了什么
如果参数字符串是这样的:
然后它应该产生这个
.net - Constructors calling other constructors: any performance issues?
In an application where performance is crucial, would there be any noticeable advantage of Scenario 1 (completely separate constructors) vs. Scenario 2 (chain-calling constructors)?
Scenario 1
Scenario 2
visual-studio-2010 - 是否可以在 VS 的方法链中设置断点,如果可以,如何设置?
给定代码
是否可以设置断点,以便在 Method1() 执行之后,但在 Method2 之前暂停执行,而无需转到 Method2 的定义并在那里放置断点?当我这样做时,断点出现在'a'处。