31 votes

Que signifie interne protégé dans .Net

Vous protéger, nous pouvons accéder à ce membre que dans un dérivant de la classe, et des moyens internes, nous pouvons accéder à ce membre dans n'importe quel type dans la même assemblée à l'aide d'un objet. Donc, puis-je envisager un Interne Protégée membre en tant que membre du public, dans la même assemblée. et en tant que membre protégé dans les différents assemblée.

EDIT:

namespace pracConsole
    {
class Class1
{
    protected internal int val;
    public int hello()
    {
        Console.WriteLine("This is method pracConsole.hello");
        Console.ReadLine();
        return 1;

    }
}
class program
{
    static void Main(string[] args)
    {
        Class1 _class1 = new Class1();
        _class1.val = 3;
        _class1.hello();
        Console.ReadLine();
    }
}

}

Le voir, je suis en mesure d'accéder, interne protégée dans un non dérivant de la classe...de sorte que son travail en tant que public, dans la même assemblée..qu'en dites-vous.

48voto

Jason Williams Points 31901

C'est déroutant.

protected signifie "seulement cette classe et les classes dérivées"

internal signifie "seulement les classes de cet assemblage.

protégé interne signifie " protégé OU interne " (toute classe du même assemblage ou toute classe dérivée, même s'il s'agit d'un assemblage différent ).

c'est-à-dire que cela ne signifie pas "protected AND internal" (uniquement des classes dérivées dans le même assemblage).

2voto

MAS1 Points 732

Interne signifie que seules les classes au sein de la même assemblée peut accéder à ce membre

Protégé signifie que le membre ne peut être consulté par un dérivant de type (classe enfant l'accès à une super-classe).

Interne protégée est un combonation de deux d'entre eux. Il est uniquement accessible au sein de la même assemblée et elle ne peut être lue comme un enfant de la classe.

Plus simplement: "protégés interne" signifie "protégé ou internes" - cela signifie qu'il peut être accessible au sein même de l'assemblée ou par un dérivant de type.

-4voto

Hun1Ahpu Points 2119

Pas vraiment. L' Protégé par mot clé dans le formulaire de déclaration spécifie que les éléments peuvent être accessibles qu'à partir de l'intérieur de la même classe ou d'une classe dérivée de cette classe. Donc vous pouvez y accéder à partir de la même bibliothèque, mais pas dans toutes les classes.

Et vous ne pouvez pas accéder Interne Protégée de toute autre bibliothèque parce que l' Interne signifie que l'accès uniquement à partir de la même assemblée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X