Ho due classi che vorrei conservare in file separati.Come faccio a garantire che una Classe possa chiamare un metodo su un'altra Classe, ma non altre Classi possono chiamare quel metodo?
namespace GridSystem
{
public class Grid
{
public void AddItem(GridItem item)
{
item.InformAddedToGrid();
}
}
}
namespace GridSystem
{
public class GridItem
{
public void InformAddedToGrid()
{
Debug.Log("I've been added to the grid");
}
}
}
Come faccio a garantire che nessun'altra classe sia autorizzata a chiamare InformAddedToGrid?
Sto cercando di emulare gli spazi dei nomi Actionscript, che possono essere utilizzati su un metodo, al posto di pubblico, privato, interno, ecc. Non protegge esattamente il metodo, ma impone un ulteriore passaggio per includere lo spazio dei nomi prima che sia possibile accedere al metodo. C'è un approccio alternativo a questo in C#?
Passare al metodo 'private'. – zsong
Sembra che tu stia cercando l'equivalente C# di C++ 'amico'. Non penso che esista. – Mysticial
Quando la griglia privata non può accedervi neanche. – Tseng