将值写回功能参数

时间:2016-03-02 08:44:44

标签: c#

将参数传递给函数时,可以"覆盖"该参数使用关键字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中的列表?

1 个答案:

答案 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;
    ...
}