これの実験コード、かなり酷いけど一応書いたのでせっかくなのでpaiza ioに><;
C#で439行のコード書いたよ!ブラウザ上で実行できるよ! https://paiza.io/projects/F0NiGRwETVCfnDvllvuFEA
これ、目的を考えると
fuga = hoge <= false;
って書かれてしまったらhogeの中身が破棄されない(hogeもfugaも同じハードウェアリソース等を参照する事になるかも?)ので危険かも><;
演算子の変わりに型で明示的な型変換したやつを暗黙の型変換でどうにかする手も?><;
hoge=true;//普通に代入
hoge=(NonBlockingRightSide)true;//ノンブロッキング代入もどき
とか?><;
Taskと微妙に違う点は、書き換える処理を非同期に書いて(、あるタイミングで同期的に状態を変える)のも、同期的に普通に代入も、どっちも出来るものを少しシンプルに記述できる事くらい?><;