私は継承が好きなのですが、VisualStudioのフォームでは少し不思議な動きがあります。
例えば、JavaやPMS等のプラットフォームでは、基底クラスにイベントを設置し、それを継承した派生クラスではそのイベントをオーバーライドするだけで自動的にコールされます。
恐らくVisualStudioのフォームデザイナーは多機能なのでそれをすると2017ではIDEがクラッシュし、2022ではクラッシュはしませんが、挙動がおかしくなります。
その為、基底クラスでイベントを設置するのではなく、メソッドだけ用意しそれを派生クラスからオーバーライドし、派生クラスのフォームデザイナーからその継承メソッドを設定する形にするとクラッシュしません。
正直めんどくさいですね、本来のノリだと派生クラスではオーバーライドするだけでよかったのですが・・・。
そもそも継承自体を使わない風潮
そういえばObjectiveCを勉強した時です。
アーロンヒレガスさんの本には、継承はなるべく使わず、ラッピングで対応するべきと書いていました。
継承好きの私には衝撃でしたがすっかり忘れており、それを思い出してAIに聞いたらその通りで二度衝撃でした・・・。
考え方を改める必要がありそうです。
