将参数传递给函数时,可以"覆盖"该参数使用关键字ref。但是,这只有在函数到达结束时才有效。之后,该类忘记了参数源。
我尝试的是:我在Class2
创建了一个列表成员,以便我可以存储Class1
发送的list-parameter。然后我在Class2
中对我的列表成员进行了更改,但无法找到更新(重新发送)Class1
中列表更改的方法。
的Class2
public ObservableCollection<Message> messages = new ObservableCollection<Message>();
public void ReceiveMessage(ObservableCollection<Message> list)
{
messages = list;
}
更改 消息 ...
//A method that writes back to list in Class1
//You guys' answers comes here
的Class1
public ObservableCollection<Message> list = new ObservableCollection<Message>();
Class2.ReceiveMessage(list);
我的问题是,如何从Class1
中的方法更新Class2
中的列表?
答案 0 :(得分:0)
将您的messages
作为公共财产,以便您可以在任何其他类
public class Class2
{
public ObservableCollection<Message> messages {get;set;}
public void ReceiveMessage(ObservableCollection<Message> list)
{
messages = list;
}
}
public class Class1
{
...
ObservableCollection<Message> list = new ObservableCollection<Message>();
Class2.ReceiveMessage(list);
var updatedList = Class2.message;
...
}