Il riferimento al linguaggio C# su MSDN definisce "interno protetto" come "L'accesso è limitato all'assembly corrente o ai tipi derivati dalla classe contenente". Ma da un punto di vista semantico, "interno protetto" mi sembra "protetto e interno", il che significa che il membro sarà accessibile solo a quelle classi derivate con lo stesso assembly. Esiste un modificatore di accesso che abbia un significato per lo stesso effetto?interno protetto
risposta
C# non ha alcun modificatore di accesso.
Tuttavia, il CLR supporta, come il livello di accesso FamANDAssem (protected internal
è FamORAssem)
è supportato in C#. È privato protetto che è disponibile solo in C++. protetto interno è FamORAssem. privato protetto è FamANDAssem. – BlackWasp
BlackWasp è corretto. C# supporta l'interno protetto. Vedi http://msdn.microsoft.com/en-us/library/ms173121(v=vs.110).aspx. – akton
@BlackWasp: questo è quello che ho detto. – SLaks
No, non esiste un tale modificatore. Internal
dovrebbe essere sufficiente, in quanto dovresti essere in grado di sapere da altri tipi nello stesso assembly cosa è legale chiamare e cosa no.
Grazie! ma quello che sto cercando di ottenere è che non è possibile definire un membro in modo tale che sia accessibile solo alle classi derivate E all'interno dello stesso assembly. Anche se ora non riesco a pensare a uno scenario in cui avere un tale modificatore di accessi potrebbe rivelarsi utile, è bene sapere che non esiste un tale modificatore che consentirebbe al programmatore di dire che questo membro è "protetto e interno" – adfs
@adfs: essere in grado di dichiarare un metodo come 'internal' * e *' protected' sarebbe meglio di 'internal' solo nello scenario in cui il metodo dovrebbe prendere un parametro di un tipo di classe nidificata' protected', specialmente se protetto la classe aveva membri di tipi interni. L'interno protetto – supercat
questo sempre mi infastidiva troppo .. domanda simile: http://stackoverflow.com/questions/7000871/internal-protected -property-ancora-accessibile-da-un-diverso-assemblea – nawfal