我将从问题本身开始。
有人可以给我一个或多个单词作为方法名称,这将是一个前向if语句吗?
我对这个问题的解释将从一个类比开始。
'add' is to 'plus' as 'if' is to what?
可能更好地表达为:
add 10 to 5 => 5 + 10
if true then action => action (?) true [OR] true (?) action
上面[OR]的原因是因为意图的方向:
add 10 to 5 => 5 + 10
|----^ ^---|
if true then action => action (?) true [OR] true (?) action
^----------| |---------^ ^---------|
我不知道在方向方面最有意义的是什么。我将其与函数式编程联系起来的原因是我想在C#中创建一个扩展方法,它看起来像:
bool.[FuncName](action)
在该语言中,我认为从上到下的“5 + 10”示例中,从左到右阅读更容易。所以,我的方法会扩展boolean并要求将操作作为C#Action。我正在寻找正确的名称来命名这种方法。
如果您想要另一个方向,它将如下所示:
action.[FuncName](bool)
在代码中(如果我以这种方式编写扩展方法):
(new Action(TestMethod)).If(testBool);
但这是你如何自然地思考它的倒退。它说,“如果右边的testBool是真的,那么在左边执行动作TestMethod。” “If”这个词是有道理的,因为一般来说,它说“如果这个条件成立,就会发生这种行为”。但是,我希望这个或多个单词成为if语句的正向版本。
我最接近的想法:
testBool.WhenTrue(new Action(TestMethod));
你们有什么想法?