これは私が達成しようとしていることを示すコードです。サブクラスは基本クラスのプロパティの情報を必要とします
public partial class Form1 : Form
{
public List<Player> Players { get; set; }
public Form1()
{
InitializeComponent();
Players = new List<Player>();
Players.Add(new Player() { ID = "Hero", Stack = 1000 });
Players.Add(new Player() { ID = "Villain", Stack = 500 });
MessageBox.Show(Players[0].Chipleader.ToString());
}
}
public class Player
{
public string ID { get; set; }
public int Stack { get; set; }
public bool Chipleader
{
get
{
// Dependent on the stacks of the other players
return Stack == Players.Max(S => S.Stack);
}
}
}
すべてのPlayerオブジェクトには、そのプレーヤーが最も大きなスタックを持っている場合にtrueを示すプロパティ "Chipleader"が必要です。プレイヤーオブジェクトはこれを行うために、他のプレーヤー(基本クラスのプレーヤーのリスト)のプロパティを必要とします。 Playerクラスにこのプロパティが必要な理由は、リストビューでプレーヤーオブジェクトを表示するためにObjectListViewを使用しているためです。私は誰かが私にこれを行う簡単な/論理的な方法を示すことができることを願っています。
ありがとう:そうのような方法で、 !私が望んでいた答えではありませんが、意味があります。明日はスタックが変わるたびにプレイヤーのChipleaderプロパティを更新するイベントを作ろうとします。 – Pizzaguru