将值写回函数参数

本文关键字:参数 函数 写回 | 更新日期: 2023-09-27 18:37:03

将参数传递给函数时,可以使用关键字 ref "覆盖"该参数。但是,这仅在函数结束之前有效。之后,参数源将被类遗忘。

我尝试的是:我在Class2中创建了一个列表成员,以便我可以存储由 Class1 发送的列表参数。然后我在 Class2 中对我的列表成员进行了更改,但找不到一种方法来更新(重新发送)对 Class1 中列表的更改。

类2

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

类1

public ObservableCollection<Message> list = new ObservableCollection<Message>();
Class2.ReceiveMessage(list);

我的问题是,如何从Class2中的方法更新Class1中的列表?

将值写回函数参数

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