我的第二个实例化对象是否有理由采用我的第一个对象的值?

当我插入第二个对象(一个孩子)时,我需要给他的父母分配他孩子的名字(已经有孩子对象,属性中有父母的名字),但是当我调用父对象时总是返回子对象。


我正在使用哈希表来存储“货物”对象。


// Hashtable(key,value)

TablaCargos(CargoObject.Name, CargoObject)

每个 Cargo 都应该有一个 Parent 和一个 Child 列表


我班货物的一部分


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);

}

我希望将孩子的名字分配给父母的孩子财产,但孩子却拿走了。


也许我错过了一个实例化或者,我不知道


MMMHUHU
浏览 56回答 1
1回答

神不在的星期二

cargo = new Cargo();一开始用这行就解决了问题btnAdicionar_Click。谢谢大家的时间和建议。:)
打开App,查看更多内容
随时随地看视频慕课网APP