我想要做的是禁止SomeRandom类访问受保护的类
public class CertainClass {
public void CerFunc(){
ProtectedClass.ProtectedFunction();
}
}
public class ProtectedClass {
public static void ProtectedFunction(){
Debug.Log("Protected");
}
}
public class SomeRandomClass {
public void RandFunc(){
ProtectedClass.ProtectedFunction(); // innaccessible due to protection level
}
}
为了使这项工作,我需要改变什么?
最好是静态,因为我需要并且只想要它。
答案 0 :(得分:1)
将其设为 PrivClass的私有嵌套类:
public class CertainClass
{
private class ProtectedClass
{
public static void ProtectedFunction()
{
Debug.Log("Protected");
}
}
public void CerFunc()
{
ProtectedClass.ProtectedFunction();
}
}
<强>更新强>
如果您希望其他CertainClass2
访问您的ProtectedClass
成员 -
将CertainClass2
设为CertainClass
的公共嵌套类。
OR
我建议将ProtectedClass
和其他想要访问它的类转移到另一个程序集,并将ProtectedClass
作为internal
,以便所有类中的{{1}}程序集可以访问此类,并且对于此程序集外的其他类是不可见的。