質問自体から始めます。
前方方向の 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 が true の場合、左側のアクション TestMethod を実行する」ということです。「If」という言葉は、一般的に「この条件が true の場合に、このアクションが発生する」という意味であるため、意味があります。しかし、単語または単語を if ステートメントの順方向バージョンにしたいのです。
私が考えた最も近いもの:
testBool.WhenTrue(new Action(TestMethod));
皆さんはどう思いますか?