FieldInfo.IsPublic Właściwość

Definicja

Pobiera wartość wskazującą, czy pole jest publiczne.

C#
public bool IsPublic { get; }

Wartość właściwości

true jeśli to pole jest publiczne; w przeciwnym razie , false.

Implementuje

Przykłady

Poniższy przykład zwraca wartość wskazującą, czy pole klasy jest publiczne, czy prywatne.

C#
using System;
using System.Reflection;

 // Make two fields.
public
    class Myfielda // private
{
    private string SomeField = "private field";
    public string Field
    {
        get{return SomeField;}
    }
}

public
    class Myfieldb // public
{
    public string SomeField = "public field";
}

public
    class Myfieldinfo
{
    public static int Main()
    {
        Console.WriteLine("\nReflection.FieldInfo");
        Myfielda Myfielda = new Myfielda();
        Myfieldb Myfieldb = new Myfieldb();

        // Get the Type and FieldInfo.
        Type MyTypea = typeof(Myfielda);
        FieldInfo Myfieldinfoa = MyTypea.GetField("SomeField",
            BindingFlags.NonPublic|BindingFlags.Instance);
        Type MyTypeb = typeof(Myfieldb);
        FieldInfo Myfieldinfob = MyTypeb.GetField("SomeField");

        // Get and display the IsPublic and IsPrivate property values.
        Console.Write("\n{0}.", MyTypea.FullName);
        Console.Write("{0} - ", Myfieldinfoa.Name);
        Console.Write("{0}", Myfielda.Field);
        Console.Write("\n   IsPublic = {0}", Myfieldinfoa.IsPublic);
        Console.Write("\n   IsPrivate = {0}", Myfieldinfoa.IsPrivate);

        Console.Write("\n{0}.", MyTypeb.FullName);
        Console.Write("{0} - ", Myfieldinfob.Name);
        Console.Write("{0};", Myfieldb.SomeField);
        Console.Write("\n   IsPublic = {0}", Myfieldinfob.IsPublic);
        Console.Write("\n   IsPrivate = {0}", Myfieldinfob.IsPrivate);

        return 0;
    }
}

Uwagi

Pola publiczne są dostępne wszędzie tam, gdzie widoczne są odpowiednie klasy.

Właściwość IsPublic jest ustawiana po ustawieniu atrybutu FieldAttributes.Public .

Aby uzyskać IsPublic właściwość , najpierw pobierz klasę Type. W pliku Typepobierz element FieldInfo. W pliku FieldInfopobierz IsPublic właściwość . Jeśli pole jest inne niż publiczne, jest chronione i nie można go łatwo uzyskać. Aby uzyskać dostęp do pola niepublicowego, ustaw BindingFlagsNonPublicdla metody wartość , określ BindingFlags.Instance wartość lub BindingFlags.Static, a następnie użyj jej dla GetField metody .

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Zobacz też