スポンサーリンク

「C#」VisualStudioのフォームでのイベント継承はちょっぴり特殊

私は継承が好きなのですが、VisualStudioのフォームでは少し不思議な動きがあります。

例えば、JavaやPMS等のプラットフォームでは、基底クラスにイベントを設置し、それを継承した派生クラスではそのイベントをオーバーライドするだけで自動的にコールされます。

恐らくVisualStudioのフォームデザイナーは多機能なのでそれをすると2017ではIDEがクラッシュし、2022ではクラッシュはしませんが、挙動がおかしくなります。
その為、基底クラスでイベントを設置するのではなく、メソッドだけ用意しそれを派生クラスからオーバーライドし、派生クラスのフォームデザイナーからその継承メソッドを設定する形にするとクラッシュしません。

正直めんどくさいですね、本来のノリだと派生クラスではオーバーライドするだけでよかったのですが・・・。

そもそも継承自体を使わない風潮

そういえばObjectiveCを勉強した時です。
アーロンヒレガスさんの本には、継承はなるべく使わず、ラッピングで対応するべきと書いていました。

継承好きの私には衝撃でしたがすっかり忘れており、それを思い出してAIに聞いたらその通りで二度衝撃でした・・・。

考え方を改める必要がありそうです。