2014-02-08 66 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

請參閱上述評論的更新回答。 –

相關問題