为什么以下类的定义可以访问同一个类的另一个对象的私有数据成员?

时间:2017-02-03 05:29:52

标签: c#

为什么以下类的定义可以访问同一类另一个对象私有数据成员other._nameother._id

感谢。

public class MyData : IEquatable<MyData>
{

    private long _id;
    private string _name;

    public bool Equals(MyData other)
    {
        bool ret =
            string.Equals(_name, other._name) &&
            long.Equals(_id, other._id);

        return ret;
    }

}

1 个答案:

答案 0 :(得分:3)

如果查看private的文档,您会看到:

  

private关键字是成员访问修饰符。私有访问是最不宽容的访问级别。私有成员只能在类的主体或声明它们的结构体中访问,如下例所示:

如上面的示例所示,您正在访问该类中的私有成员。它与另一个实例无关,你仍然在课堂上,因此可以访问所有内容。