FieldInfo.IsPublic Egenskap

Definition

Hämtar ett värde som anger om fältet är offentligt.

public:
 property bool IsPublic { bool get(); };
public bool IsPublic { get; }
member this.IsPublic : bool
Public ReadOnly Property IsPublic As Boolean

Egenskapsvärde

trueom det här fältet är offentligt. annars . false

Implementeringar

Exempel

I följande exempel returneras ett värde som anger om fältet i klassen är offentligt eller privat.

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;
    }
}
Imports System.Reflection

' Make two fields.
Public Class Myfielda
    ' Make a private field.
    Private SomeField As String = "private field"

    Public ReadOnly Property Field() As String
        Get
            Return SomeField
        End Get
    End Property
End Class

Public Class Myfieldb
    ' Make a public field.
    Public SomeField As String = "public field"
End Class

Public Class Myfieldinfo

    Public Shared Function Main() As Integer
        Console.WriteLine("Reflection.FieldInfo")
        Console.WriteLine()
        Dim Myfielda As New Myfielda()
        Dim Myfieldb As New Myfieldb()

        ' Get the Type and FieldInfo.
        Dim MyTypea As Type = GetType(Myfielda)
        Dim Myfieldinfoa As FieldInfo = MyTypea.GetField("SomeField", _
            BindingFlags.NonPublic Or BindingFlags.Instance)
        Dim MyTypeb As Type = GetType(Myfieldb)
        Dim Myfieldinfob As FieldInfo = MyTypeb.GetField("SomeField")

        ' Get and display the IsPublic and IsPrivate property values.
        Console.WriteLine("{0}.{1} - {2}", MyTypea.FullName, Myfieldinfoa.Name, _
            Myfielda.Field)
        Console.WriteLine("   IsPublic = {0}", Myfieldinfoa.IsPublic)
        Console.WriteLine("   IsPrivate = {0}", Myfieldinfoa.IsPrivate)
        Console.WriteLine()
        Console.WriteLine("{0}.{1} - {2}", MyTypeb.FullName, Myfieldinfob.Name, _
            Myfieldb.SomeField)
        Console.WriteLine("   IsPublic = {0}", Myfieldinfob.IsPublic)
        Console.WriteLine("   IsPrivate = {0}", Myfieldinfob.IsPrivate)

        Return 0
    End Function 'Main
End Class

Kommentarer

Offentliga fält är tillgängliga överallt där motsvarande klasser är synliga.

Egenskapen IsPublic anges när FieldAttributes.Public attributet har angetts.

IsPublic Hämta egenskapen genom att först hämta klassen Type. TypeFrån hämtar du FieldInfo. Hämta egenskapen från FieldInfoIsPublic . Om fältet är annat än offentligt är det skyddat och kan inte nås enkelt. Om du vill komma åt ett icke-offentligt fält anger du BindingFlags till NonPublic, anger antingen BindingFlags.Instance eller BindingFlags.Staticoch använder detta för GetField metoden.

Gäller för

Se även