0

我将从问题本身开始。

有人可以给我一个或多个单词作为方法名称,这将是一个正向 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));

你们有什么感想?

4

0 回答 0