如何在重载中传递类实例

本文关键字:实例 重载 | 更新日期: 2023-09-27 17:53:30

我有一个在Form1中实例化的类Player的对象数组(Character)

我需要以另一种形式(Combat)使用这些对象,但我不确定如何通过它们。以下是我尝试过的:

public partial class Form1: Form
 private void combatBtn_Click(object sender, EventArgs e)
    {
        Form combat = new Combat(Character[0-9]);
        combat.ShowDialog();
    }
public partial class Combat : Form
  {
    Player[] character = new Player[9];
    public Combat(Player chars[0-9])
    {
        InitializeComponent();
        for (int i = 0; i > 9; i++)
        {
            character[i] = chars[i];
        }
    }

如何在重载中传递类实例

您可以为Combat添加一个属性,并从父窗体设置它:

public partial class Combat : Form
{
    public Player[] Characters { get; set; }
}

你可以在创建表单时设置该属性:

private void combatBtn_Click(object sender, EventArgs e)
{
    Combat combat = new Combat();
    combat.Characters = somePlayerArray;
    combat.ShowDialog();
}