Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Type.IsNotPublic, propriété
Obtient une valeur indiquant si Type n'est pas déclaré public.
Assembly : mscorlib (dans mscorlib.dll)
Valeur de propriété
Type : System.Booleantrue si Type n'est pas déclaré public et n'est pas un type imbriqué ; sinon, false.
Implémentations
_Type.IsNotPublicNe l'utilisez pas avec les types imbriqués ; utilisez plutôt IsNestedPublic.
Si le Type actuel représente un paramètre de type d'un type générique, cette propriété retourne la valeur false.
TypeAttributes.VisibilityMask sélectionne les attributs de visibilité.
Cet exemple illustre l'utilisation de IsNotPublic pour obtenir la visibilité du type.
using System; using System.IO; using System.Reflection; class MyMemberInfo { public static void Main(string[] args) { Console.WriteLine ("\nReflection.MemberInfo"); //Get the Type and MemberInfo. Type MyType =Type.GetType("System.IO.File"); MemberInfo[] Mymemberinfoarray = MyType.GetMembers(); //Get and display the DeclaringType method. Console.WriteLine("\nThere are {0} members in {1}.", Mymemberinfoarray.Length, MyType.FullName); Console.WriteLine("Is {0} nonpublic? {1}", MyType.FullName, MyType.IsNotPublic.ToString()); } }
Ce code génère la sortie suivante :
Il y a 27 membres dans System.IO.File.
System.IO.File est-il public ? False
L'exemple de code suivant montre pourquoi vous ne pouvez pas utiliser IsPublic et IsNotPublic pour les classes imbriquées.
Pour les classes imbriquées, ignorez les résultats de IsPublic et IsNotPublic ; intéressez-vous uniquement aux résultats de IsNestedPublic et IsNestedPrivate. Le résultat de réflexion pour ce fragment de code se présente comme suit :
|
Classe |
IsNotPublic |
IsPublic |
IsNestedPublic |
IsNestedPrivate |
|---|---|---|---|---|
|
A |
FALSE |
TRUE |
FALSE |
FALSE |
|
B |
FALSE |
FALSE |
TRUE |
FALSE |
|
C |
FALSE |
FALSE |
FALSE |
TRUE |
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.