Leggi in inglese

Condividi tramite


Type.IsNotPublic Proprietà

Definizione

Ottiene un valore che indica se l'oggetto Type non è dichiarato pubblico.

C#
public bool IsNotPublic { get; }

Valore della proprietà

true se l'oggetto Type non è dichiarato pubblico e non è un tipo annidato; in caso contrario, false.

Implementazioni

Esempio

In questo esempio viene utilizzata la IsNotPublic proprietà per ottenere la visibilità del tipo.

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

Nell'esempio di codice seguente viene illustrato il motivo per cui non è possibile usare IsPublic e IsNotPublic per le classi annidate.

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

Per le classi annidate, ignorare i risultati di IsPublic e IsNotPublic e prestare attenzione solo ai risultati di IsNestedPublic e IsNestedPrivate. L'output di reflection per questo frammento di codice sarà il seguente:

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

Commenti

Non utilizzare questa proprietà con tipi annidati; utilizzare invece la IsNestedPublic proprietà .

Se l'oggetto corrente Type rappresenta un parametro di tipo di un tipo generico, questa proprietà restituisce false.

Si applica a

Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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, 4.8.1
.NET Standard 2.0, 2.1

Vedi anche