我将从问题本身开始。
有人可以给我一个或多个单词作为方法名称,这将是一个正向 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”示例。因此,我的方法将扩展布尔值并要求将操作作为 C# 操作。我正在寻找正确的名称来命名此方法。
如果你想要另一个方向,它看起来像这样:
action.[FuncName](bool)
在代码中(如果我以这种方式编写扩展方法):
(new Action(TestMethod)).If(testBool);
但这与您自然地思考它的方式相反。它的意思是,“如果右边的 testBool 为真,则执行左边的动作 TestMethod。” “如果”这个词是有道理的,因为一般来说,它是在说“如果这个条件为真,这个动作就会发生”。但是,我希望一个或多个单词成为 if 语句的正向版本。
我想到的最接近的:
testBool.WhenTrue(new Action(TestMethod));
你们有什么感想?