Erreur dans la msdn?

Résolu
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 - 7 nov. 2006 à 23:34
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 8 nov. 2006 à 07:38
Salut,
Dans Msdn, ils disent que les assembly amis sont capables d'accéder aux types marqués internal, mais les types et membres marqués private restent inacessible; et ce au moyen de l'attribut InternalsVisibleTo.
The friend assemblies feature allows you to access internal members; private types and private members will remain inaccessible.

Or, après quelques tests, je me suis rendu compte que même les classes private sont accessibles!
C'est une erreur d'interprétation de ma part ou quoi?
Dans la description de la classe InternalsVisibleToAttribute, ils disent Specifies that all nonpublic types in an assembly are visible to another assembly.

Y'aurais pas un peu de contradiction??? visible implique que c'est accessible???
Etk, j'attends vos commentaires

[:D] @++

2 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
8 nov. 2006 à 07:38
Salut..

"Or, après quelques tests, je me suis rendu compte que même les classes private sont accessibles"

Par défaut les classes sont internal, seules les classes imbriquées peuvent être private.

Dans le code suivant la méthode "Private" ne doit pas être accessible.

using System.Runtime.CompilerServices;


[ assembly:InternalsVisibleTo( "friends" ) ]


namespace Library
{
    public class ClassPublic
    {
        public void Public( )
        {
            MessageBox.Show( "Public" );
        }


        internal void Internal( )
        {
            MessageBox.Show( "Internal" );
        }


        private void Private( )
        {
            MessageBox.Show( "Private" );
        }
    }
}
3
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
8 nov. 2006 à 03:57
peut-être doit on lire cela comme suit:

The friend assemblies feature allows you to access "internal members; private types" and private members will remain inaccessible.

Le ";" serait comme une sorte de "/" comme lors qu'on écrit je sais pas ... tous les gars/filles de ce college par exemple ....

Mais bon au premier coup d'oeil je lisais comme toi, et c'est peut-être bel et bien une erreur

Eric
0
Rejoignez-nous