C# 类的私有成员在类的外部竟然能访问

问题遇到的现象和发生背景

最近写一个C#程序时发现一个问题,类的私有成员在类外竟然可以访问,这是什么情况?

问题相关代码,请勿粘贴截图

public class MyClass
{
private int num;
private void fun(){}

    public int test()
    {
        MyClass newClass = new MyClass();
        newClass.num = 5;
        newClass.fun();
        return newClass.num;
    }       
}
运行结果及报错内容

newClass.num = 5; newClass.fun(); 都能正常运行。很是疑惑,不明白这是怎么回事。

我的解答思路和尝试过的方法
我想要达到的结果

这是在类内部的函数中。在类外就不可以这么做了

你在类的内部当然能访问内部的成员变量。你在类的外部new一个类,然后访问这个变量试试,不可能的。