二分探索木でノードの削除を練習していて、nullパターンを使用してnullリンク用の特別な型(NullNode)を作成したので、「null」型にいくつかの望ましい動作を追加できます。ノードタイプとヌルノードタイプの両方が、再帰メソッドを含む同じINodeインターフェイスを共有します。
INodeインターフェースには、PreOrder、InOrder、およびPostOrderトラバーサルによるIEnumerable再帰メソッドが含まれていますが、NullNodeが(yield returnステートメントを介して)要素を返すことは望ましくありません。
私に何ができる?
不可能なif-conditionを使用して、メソッドにyield returnステートメントを配置できることは知っていますが、このソリューションは適切ではないと思います。より良いアプローチがあるはずです。