有没有理由让我的第二个实例化对象获取我的第一个对象的值?

问题描述 投票:-2回答:1

当我插入第二个Object(一个Child)时,我需要为其父级分配他的孩子的名字(已经有一个Child对象,在属性中有父对象名称),但是当我调用Parent对象时总是返回子对象。

我正在使用Hashtable来存储“Cargo”对象。

// Hashtable(key,value)
TablaCargos(CargoObject.Name, CargoObject)

每个货物都应该有父母和子女列表

我的班级货物的一部分

class Cargo {
  private string nombre;
  private string codigo;
  private string padre;
  private List<string> hijos = new List<string>();

  public Cargo() {
    nombre = "";
    codigo = "";
    padre = "";
    hijos = new List<string>();
  }

  //getter and setters
}

我的表格

Cargo cargo = new Cargo();
Cargo cargoHijo = new Cargo();
Cargo cargoPadre = new Cargo();
Hashtable TablaCargos = new Hashtable();
string Root = "";

private void btnAgregar_Click(object sender, EventArgs e)
{
  cargo.Nombre = txtNombre.Text;
  cargo.Codigo = txtCodigo.Text;
  cargo.Padre = txtPadre.Text;

  TablaCargos.Add(txtNombre.Text, cargo);

  Ordenamiento(txtNombre.Text);
}

private void Ordenamiento(string cargoActual) {

  cargoHijo = (Cargo)TablaCargos[cargoActual];

  if (cargoHijo.Padre == "") {
    // THIS IS A PARENT
    Root = cargoActual;
  } else {
    // THIS IS A CHILD
    AsignarPadre(cargoHijo.Padre, cargoHijo.Nombre);
}

private void AsignarPadre(String Padre, String Hijo)
{
  // THE PROBLEM IS HERE, CLEARLY I SEND THE Parent's KEY

  cargoPadre = (Cargo)TablaCargos[Padre];

  // BUT IN THE NEXT LINE cargoPadre TAKES THE VALUE OF THE CHILD
  // THE SAME VALUE OF cargoHijo

  cargoPadre.Hijos.Add(Hijo);
}

我希望将孩子的名字分配给父母的子属性,但孩子会接受它。

也许我想念一个实例,或者我不知道

c# hashtable
1个回答
-1
投票

cargo = new Cargo();开头用btnAdicionar_Click这条线解决了这个问题。谢谢大家的时间和建议。 :)

© www.soinside.com 2019 - 2024. All rights reserved.