Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout

MethodBase.IsAssembly, propriété

Mise à jour : novembre 2007

Obtient une valeur indiquant si la visibilité potentielle de cette méthode ou de ce constructeur est décrite par MethodAttributes.Assembly, c'est-à-dire si la méthode ou le constructeur est visible au maximum par d'autres types du même assembly, et n'est pas visible par des types dérivés à l'extérieur de l'assembly.

Espace de noms :  System.Reflection
Assembly :  mscorlib (dans mscorlib.dll)

public bool IsAssembly { get; }
/** @property */
public final boolean get_IsAssembly()

public final function get IsAssembly () : boolean

Valeur de propriété

Type : System.Boolean

true si la visibilité de cette méthode ou de ce constructeur est décrite exactement par MethodAttributes.Assembly ; sinon, false.

La visibilité réelle d'une méthode est limitée par la visibilité de son type. La propriété IsAssembly peut être true pour une méthode, mais s'il s'agit d'une méthode d'un type imbriqué privé, la méthode n'est pas visible à l'extérieur du type conteneur.

La visibilité d'une méthode ou d'un constructeur est décrite exactement par MethodAttributes.Assembly si le seul modificateur de visibilité est internal (Friend en Visual Basic). Cette propriété est false pour les méthodes qui sont protected internal en C# (Protected Friend en Visual Basic, protected public en C++) ; utilisez la propriété IsFamilyOrAssembly pour identifier de telles méthodes.

L'exemple de code suivant définit des méthodes ayant des niveaux de visibilité différents, et affiche les valeurs de leurs propriétés IsAssembly, IsFamily, IsFamilyOrAssembly et IsFamilyAndAssembly.

Remarque :

Les langages Visual Basic et C# ne peuvent pas définir des méthodes avec la visibilité MethodAttributes.FamANDAssem ; ce niveau d'accès apparaît uniquement dans l'exemple C++.

using System;
using System.Reflection;

public class Example
{
    public void m_public() {}
    internal void m_internal() {}
    protected void m_protected() {}
    protected internal void m_protected_public() {}

    public static void Main()
    {
        Console.WriteLine("\n{0,-30}{1,-18}{2}", "", "IsAssembly", "IsFamilyOrAssembly"); 
        Console.WriteLine("{0,-21}{1,-18}{2,-18}{3}\n", 
            "", "IsPublic", "IsFamily", "IsFamilyAndAssembly");

        foreach (MethodBase m in typeof(Example).GetMethods(
            BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
        {
            if (m.Name.Substring(0, 1) == "m")
            {
                Console.WriteLine("{0,-21}{1,-9}{2,-9}{3,-9}{4,-9}{5,-9}", 
                    m.Name,
                    m.IsPublic,
                    m.IsAssembly,
                    m.IsFamily,
                    m.IsFamilyOrAssembly,
                    m.IsFamilyAndAssembly
                );
            }
        }
    }
}

/* This code example produces output similar to the following:

                              IsAssembly        IsFamilyOrAssembly
                     IsPublic          IsFamily          IsFamilyAndAssembly

m_public             True     False    False    False    False
m_internal           False    True     False    False    False
m_protected          False    False    True     False    False
m_protected_public   False    False    False    True     False
 */


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft