首页 > 解决方案 > 在 C# 中存储一个 ref 值

问题描述

我有一个 WPF 窗口来修改客户端的信息。信息存储在结构中:

public struct ClientInfos
{
    public string Firstname { get; set; }
    public string Lastname { get; set; }
    public int Age { get; set; }
}

我通过引用将要修改的结构提供给窗口:

ClientInfosWindow.Show(ref clientInfos);

在视图模型中,我有一个临时 ClientInfos 结构,用户在窗口中时将使用该结构,当他保存更改时,此临时信息将复制到通过引用传递的结构中。

class ClientInfosViewModel
{
    public ClientInfosViewModel(ref ClientInfos clientInfos))
    {
        ClientInfos = ref clientInfos;
        ClientInfosTemp = clientInfos;
    }

    private ref ClientInfos ClientInfos { get; set; }
    public ClientInfos ClientInfosTemp { get; set; }

    private void SaveClientInfos()
    {
        ClientInfos = ClientInfosTemp;
        ClientInfosWindow.Close();
    }
}

因此,在 ViewModel 构造函数中,我必须存储传入参数的引用,以便能够在 ViewModel 方法中修改此值。

问题是不可能创建 type 的属性ref ClientInfos

你有一个解决方案可以在课堂上保存这个参考吗?

标签: c#.netwpfreference

解决方案


推荐阅读