Lire en anglais

Partager via


Type.IsNotPublic Propriété

Définition

Obtient une valeur indiquant si Type n'est pas déclaré public.

C#
public bool IsNotPublic { get; }

Valeur de propriété

Boolean

true si Type n'est pas déclaré public et n'est pas un type imbriqué ; sinon, false.

Implémente

Exemples

Cet exemple utilise la IsNotPublic propriété pour accéder à la visibilité du type.

C#
using System;
using System.IO;
using System.Reflection;

class Example
{
    public static void Main()
    {
        // Get the Type and MemberInfo.
        Type t = Type.GetType("System.IO.File");
        MemberInfo[] members = t.GetMembers();
        // Get and display the DeclaringType method.
        Console.WriteLine("\nThere are {0} members in {1}.",
                          members.Length, t.FullName);
        Console.WriteLine("Is {0} non-public? {1}",
                          t.FullName, t.IsNotPublic);
    }
}
// The example displays output like the following:
//       There are 60 members in System.IO.File.
//       Is System.IO.File non-public? False

L’exemple de code suivant montre pourquoi vous ne pouvez pas utiliser IsPublic et IsNotPublic pour les classes imbriquées.

C#
public class A
{
    public class B { }
    private class C { }
}

Pour les classes imbriquées, ignorez les résultats de et IsPublic IsNotPublic et faites attention uniquement aux résultats de IsNestedPublic et IsNestedPrivate . La sortie de la réflexion pour ce fragment de code est la suivante :

Classe IsNotPublic IsPublic IsNestedPublic IsNestedPrivate
A false true FALSE false
B false false true false
C false FALSE false true

Remarques

N’utilisez pas cette propriété avec des types imbriqués ; Utilisez la IsNestedPublic propriété à la place.

Si le actuel Type représente un paramètre de type d’un type générique, cette propriété retourne false .

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Voir aussi