unity3d Unity中变量的默认访问修饰符是什么?为什么?

dbf7pr2w  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(173)

这是一个比看上去要复杂得多的问题。
我能找到的每一个讨论访问修饰符的Unity视频和教程都告诉我“private是C#中成员变量的默认访问修饰符",但according to the C# documentation默认访问修饰符应该是internal

所以,问题是,这里发生的事情的真实故事是什么?如果我不在Unity脚本中的变量上放置访问修饰符,它 * 确实 * 是私有的,但Unity是如何做到这一点的呢?不知何故,我在网上找不到解释。
另请参阅Unity Answers上的this unanswered question

7lrncoxx

7lrncoxx1#

我想你对这里的范围感到困惑:members(字段和方法)的默认访问修饰符是private,而 classesinterfaces 的默认访问修饰符是internal。这是因为类不能被声明为private(这意味着它们只在自身中可见,这没有意义)。内部类(类中的类)是个例外,但对于这些类,单独的默认规则适用。
总是为所有对象显式声明访问修饰符是一种很好的方式。

相关问题