アマチュアタイプのオブジェクトを数えたときに、それらがアマチュアの子であるためプロフェッショナルとセレブタイプのすべてのオブジェクトもカウントされますが、オブジェクトの各タイプがディクショナリに表示される数を数えようとしています。継承を削除することなく、これを修正するための方法はありますか?アマチュアのみのオブジェクトを数えるだけですか?子オブジェクトを数えないタイプのオブジェクトをカウントすることは可能ですか?
サンプルコード:もちろん
private void GetTotalEntries()
{
string amateurEntries;
string profEntries;
string celebEntries;
amateurEntries = manager.competitors.Values.OfType<Amateur>().Count().ToString();
profEntries = manager.competitors.Values.OfType<Professional>().Count().ToString();
celebEntries = manager.competitors.Values.OfType<Celebrity>().Count().ToString();
EntriesTextBox.Text = "Amateur Entries:" + amateurEntries + "\nProfessional Entries:" + profEntries + "\nCelebrity Entries:" + celebEntries;
}
私見することにより、間接的にアマチュアを数えることができる、あなたの継承はあまり意味がありません。何かがあれば、これらのクラスはすべて「Competitor」という1つのクラスを継承します。 –