FieldInfo.IsPublic FieldInfo.IsPublic FieldInfo.IsPublic FieldInfo.IsPublic Property

定義

フィールドがパブリックかどうかを示す値を取得します。Gets a value indicating whether the field is public.

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

プロパティ値

フィールドがパブリックの場合は true。それ以外の場合は falsetrue if this field is public; otherwise, false.

実装

次の例は、クラスのフィールドがパブリックかプライベートかどうかを示す値を返します。The following example returns a value indicating whether or not the field of the class is public or private.

using namespace System;
using namespace System::Reflection;

// Make two fields.
// private
public ref class Myfielda
{
private:
   String^ SomeField;

public:
   Myfielda()
      : SomeField( "private field" )
   {}


   property String^ Field 
   {
      String^ get()
      {
         return SomeField;
      }

   }

};


// public
public ref class Myfieldb
{
public:
   String^ SomeField;
   Myfieldb()
      : SomeField( "public field" )
   {}


   property String^ Field 
   {
      String^ get()
      {
         return SomeField;
      }

   }

};

int main()
{
   Console::WriteLine( "\nReflection.FieldInfo" );
   Myfielda^ myfielda = gcnew Myfielda;
   Myfieldb^ myfieldb = gcnew Myfieldb;
   
   // Get the Type and FieldInfo.
   Type^ MyTypea = Type::GetType( "Myfielda" );
   FieldInfo^ Myfieldinfoa = MyTypea->GetField( "SomeField", static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance) );
   Type^ MyTypeb = Type::GetType( "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->Field );
   Console::Write( "\n   IsPublic = {0}", Myfieldinfob->IsPublic );
   Console::Write( "\n   IsPrivate = {0}", Myfieldinfob->IsPrivate );
   return 0;
}

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
Imports System.Reflection
Imports Microsoft.VisualBasic


' 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 'Myfielda

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

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 'Myfieldinfo

注釈

パブリック フィールドにはアクセス可能なすべての場所で、対応するクラスが表示されます。Public fields are accessible everywhere their corresponding classes are visible.

IsPublic場合、プロパティが設定、FieldAttributes.Public属性を設定します。The IsPublic property is set when the FieldAttributes.Public attribute is set.

取得する、IsPublicプロパティ、クラスをまず取得Typeします。To get the IsPublic property, first get the class Type. Type、取得、FieldInfoします。From the Type, get the FieldInfo. FieldInfo、取得、IsPublicプロパティ。From the FieldInfo, get the IsPublic property. 保護されているフィールドがパブリック以外の場合は、すぐにアクセスできません。If the field is other than public, it is protected and cannot be readily accessed. 非パブリック フィールドにアクセスするには、設定、BindingFlagsNonPublic、どちらかを指定BindingFlags.InstanceまたはBindingFlags.Static、これを使用して、GetFieldメソッド。To access a nonpublic field, set the BindingFlags to NonPublic, specify either BindingFlags.Instance or BindingFlags.Static, and use this for the GetField method.

適用対象

こちらもご覧ください