當(dāng)我插入第二個(gè)對(duì)象(一個(gè)孩子)時(shí),我需要給他的父母分配他孩子的名字(已經(jīng)有孩子對(duì)象,屬性中有父母的名字),但是當(dāng)我調(diào)用父對(duì)象時(shí)總是返回子對(duì)象。我正在使用哈希表來存儲(chǔ)“貨物”對(duì)象。// Hashtable(key,value)TablaCargos(CargoObject.Name, CargoObject)每個(gè) Cargo 都應(yīng)該有一個(gè) Parent 和一個(gè) 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);}我希望將孩子的名字分配給父母的孩子財(cái)產(chǎn),但孩子卻拿走了。也許我錯(cuò)過了一個(gè)實(shí)例化或者,我不知道
1 回答

神不在的星期二
TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
cargo = new Cargo();
一開始用這行就解決了問題btnAdicionar_Click
。謝謝大家的時(shí)間和建議。:)
- 1 回答
- 0 關(guān)注
- 110 瀏覽
添加回答
舉報(bào)
0/150
提交
取消