私はオブジェクトを作成し、それを一連のフォームを通してユーザーコントロールに渡すという点で次のコードを持っています。この例では、参照型について何が欠けていますか?
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:私はのUserControl1内のオブジェクトに新しいmyObjectという()を追加すると
public Form2(ref MyObject myObject)
{
UserControl1 myControl = new UserControl1();
myControl.Objects = myObjects.Objects
}
UserControl1が
public List<AnObject> Objects {get; set;}
...
Objects.Add(new myObject());
は、それはdoesnのForm1で元のリストを更新しません。 myObjectを参照渡ししています。私が考えることができるのは、私の値をアンボックスするのは、フォーム2にAnObjectのリストをUserControl1に割り当てるときだけです。私は間違って何をしていますか?
何が起こっているのかを伝えるための十分なコードが表示されていません。短くて完全なプログラムを提供してください。理想的には、コンソールアプリケーションです。ここでは、ユーザーインターフェイスを取得する必要はありません。 Henkが言ったように、あなたはここでも 'ref'を必要としません。 –
myObjectsをコントロール(たとえばListBox)のデータソースとして使用していて、そのコントロールがmyObjectsに追加されても更新されませんか? – m0sa