首页 > 解决方案 > 访问私有变量

问题描述

所以我正在寻找对以下代码的一些解释,因为对我来说这没有任何意义。

public class Test1
{
    private readonly int testVariable;

    public Test1(int testint)
    {
        this.testVariable = testint;
    }

    public void DoingThings(object o)
    {
        Test1 t = (Test1)o;

        int n = t.testVariable;
    }
}

public class Test2
{
    private readonly int testVariable;

    public Test2(int testint)
    {
        this.testVariable = testint;
    }

    public void DoingThings(object o)
    {
        Test1 t = (Test1)o;

        int n = t.testVariable;
    }
}

因此,在 Test2 类中访问 testVariable 会产生预期的错误,因为代码尝试访问私有变量。但是第一个没有给出任何错误,问题是我不明白为什么没有给出任何错误,因为我们正在访问对象的私有变量。

标签: c#

解决方案


该属性是类的私有属性。不是一个对象。因此该类的任何对象都可以修改同一 T1 类的另一个对象的变量


推荐阅读