まず第一に、私の質問に適切なタイトルを見つけるのが困難でした... 申し訳ありません。
C# .NETの問題に直面しています。一時的な例で簡単に説明します。
私は3つのクラスを持っています:
本 movie_dvd game_dvd
それぞれに、id や name などの同じ基本プロパティがあります。ただし、それらには他の異なるプロパティと異なるメソッドがあり、同じクラスであると想定できます。もちろん、親クラスの子にすることもできます。
次に、これらの各クラスの List を作成して、本、映画、およびゲームのコレクションを定義します。それらの id プロパティはもちろんリストのキーと一致し、リストに各項目を挿入するときに適切な名前 (タイトル) を付けます。
「Show Books Collection」、「Show Movies Collection」、「Show Games Collection」の 3 つのボタンを備えたメインの winForm があります。ユーザーがそれらのいずれかをクリックすると、別のウィンドウが表示され、渡されたコレクションが ListBox (またはその他) 内に表示されます。
ここに私の問題があります。
現在、各コレクション (本、映画、ゲーム) のコンテンツを表示するために、3 つの個別の (ただしほぼ同一の) WinForms を作成していますが、これは非常にやり過ぎだと思います。私が本当にやりたいことは、これらのコレクションのコンテンツを表示する単一のウィンドウを作成することです。問題は、新しい winForm のパラメーター内で book オブジェクト/クラスを渡すと、反対側では book オブジェクトであると想定されることです。
WinFormコードを何度も複製せずに、単一のWinformを使用してこれらの異なるオブジェクトのそれぞれのタイトルを表示するにはどうすればよいですか?