C# private修饰符的问题,求助
对于private字段和方法,以前总是以为它只能在类的内部方法中被访问,或者类的内部嵌套类可以被访问,今天我发现了一个问题,有点疑惑,以前从没注意,如下面代码
public class PointC# private
{
private int i;
private int j;
public Point() { }
public Point Add(Point p)
{
Point rtn = new Point();
rtn.i = this.i + p.i;//p.i?i和j不是private么,对象实例怎么可以访问?
rtn.j = this.j + p.j;
p.Print();//直接访问私服方法?
return rtn;
}
public Point(int x, int y)
{
i = x;
j = y;
}
private void Print()
{
}
public override string ToString()
{
return i + "," + j;
}
}
[解决办法]
在自身的类中,相当于友元。C#没有友元这个概念。
[解决办法]
这个不就是从C++开始就有的问题吗,这样调用其实就是类内部访问