2014-02-08 23 views
0

我想要做的就是禁止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 
    } 
} 

我有什么,以使这项工作改变?

优选的静态,因为我需要和想要只1

回答

1

让它私人嵌套类CertainClass的

public class CertainClass 
{ 
    private class ProtectedClass 
    { 
     public static void ProtectedFunction() 
     { 
      Debug.Log("Protected"); 
     } 
    } 
    public void CerFunc() 
    { 
     ProtectedClass.ProtectedFunction(); 
    } 
} 

UPDATE

如果你想另一个CertainClass2访问您的ProtectedClass成员 -

可以将CertainClass2作为公共嵌套类CertainClass

OR

我建议移动ProtectedClass并希望访问到另一个装配,使ProtectedClassinternal其他类别,使得该装配的所有类都可以访问这个类,它是无形的到大会以外的其他班级。

+0

谢谢,我该如何让它2 CertainClasses可以访问它,但不是其他Randomclasses? – MilitaryG

+0

请参阅上述评论的更新回答。 –

相关问题