c# - "ref"可以用作类之间的持久链接吗?

标签 c# .net mono

我有一个 ClassA 的实例,它作为 ref 传递给 ClassB 的构造函数。 ClassB 实例现在是否始终可以访问已传递的 ClassA 实例的最新更新版本?

public class ClassA {
    private int variableA = 0;
    public ClassA() { }
    public void Change(int newValue) {
        variableA = newValue;
    }
}

public class ClassB {
    public ClassA classA;
    public ClassB(ref ClassA refClassA) {
        classA = refClassA;
    }
    public void Print() {
        Console.WriteLine(classA.variableA);
    }
}

static void Main() {
    ClassA classA = new ClassA();
    ClassB classB = new ClassB(ref classA);
    classB.Print(); // 0
    classA.Change(50);
    classB.Print(); // 50?
}

我已经阅读了我在互联网上找到的内容,但我发现的唯一用法是更新引用值,例如在 dotnetperls http://www.dotnetperls.com/ref 中.

最佳答案

这不是 ref 的目的,没有它也能实现相同的行为。

关于c# - "ref"可以用作类之间的持久链接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22710507/

相关文章:

c# - DllImport 和 char*

c# - 使用 ProtoBuf-net 反序列化派生类型(字典)未正确设置对象字段

c# - 如何在完成之前访问 DirectoryInfo.EnumerateFiles

c# - 根据配置部署不同的 WCF .svc 文件

c# - 使用 MONO 降级 Web API 以在 Linux 上运行

c# - 从 GTK#Thread 访问 System.Drawing.Bitmap 抛出 Object Currently in use elshere 异常

c# - 通过 xml 进行搜索的最快方法是什么

c# - 在 EF Core 中,如何检查是否需要迁移?

.net - 面向 .NET Framework 4.5.1 而不是 4.5 有什么好处?

c# - 从 C++ 调用 C# 函数?