다음은 달성하려는 내용을 보여주는 코드입니다.하위 클래스는 기본 클래스의 속성 정보가 필요합니다.
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);
}
}
}
는 내가 그 선수가 가장 큰 스택이있는 경우 모든 플레이어 객체가 true를 나타내는 속성을 "칩 리더"를 갖고 싶어. 플레이어 개체는이를 수행 할 수 있도록 다른 플레이어 (기본 클래스의 플레이어 목록)의 속성을 필요로합니다. 이 속성이 Player 클래스에 있어야하는 이유는 ObjectListView을 사용하여 listview에서 플레이어 개체를 나열하기 때문입니다. 누군가가 나에게이 일을 간단하게/논리적으로 보여줄 수 있기를 바랍니다.
감사합니다 (I는 또한 자신의 "게임"클래스로 게임 로직을 이동 권하고 싶습니다, 대신를 Form1의 게임 로직을 필요없이 형태로 그 캡슐화) ! 내가 원했던 대답이 아니라 그것이 합리적입니다. 내일 Stack이 변경 될 때마다 플레이어의 Chipleader 속성을 업데이트하는 이벤트를 만들려고합니다. – Pizzaguru