当我插入第二个对象(一个孩子)时,我需要给他的父母分配他孩子的名字(已经有孩子对象,属性中有父母的名字),但是当我调用父对象时总是返回子对象。我正在使用哈希表来存储“货物”对象。// 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);}我希望将孩子的名字分配给父母的孩子财产,但孩子却拿走了。也许我错过了一个实例化或者,我不知道
- 1 回答
- 0 关注
- 54 浏览
添加回答
举报
0/150
提交
取消