我有以下代碼,我創建一個對象,並通過一系列的窗體傳遞給用戶控件。我在這個例子中錯過了什麼參考類型?
public class MyObject
{
public List<AnObject> Objects {get; set;}
}
形式1:
private void MyObject _myObject = new MyObject{Objects = new List<AnObject>()};
...
Form2 form2 = new Form2(ref _myObject);
form2.Show();
表格2:
public Form2(ref MyObject myObject)
{
UserControl1 myControl = new UserControl1();
myControl.Objects = myObjects.Objects
}
的UserControl1
public List<AnObject> Objects {get; set;}
...
Objects.Add(new myObject());
當我添加新myObject的()中的UserControl1對象,它不在Form1上不更新我的原始列表。我通過引用傳遞myObject。我能想到的唯一事情就是以某種方式拆箱我的值是當我將AnObject的列表分配給FormControl 2到UserControl1時。我究竟做錯了什麼?
您還沒有顯示足夠的代碼來告訴我們發生了什麼。請提供一個簡短但完整的程序 - 理想情況下是一個控制檯應用程序,因爲我認爲不需要在此處涉及用戶界面。正如亨克所說,你甚至不需要`ref`在這裏。 – 2010-12-01 21:03:32