_FieldInfo.IsPublicとは? わかりやすく解説

FieldInfo.IsPublic プロパティ

フィールドパブリックかどうかを示す値を取得します

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

パブリック フィールドには、対応するクラス可視ならばどこからでもアクセスできます

IsPublic プロパティは、FieldAttributes.Public 属性設定されたときに設定されます。

IsPublic プロパティ取得するには、最初に Type クラス取得します。そして、その Type から FieldInfo取得します最後にFieldInfo から IsPublic プロパティ取得しますフィールドパブリック以外の場合は、そのフィールド保護されているため、簡単にアクセスできません。非パブリック フィールドアクセスするには、BindingFlagsNonPublic設定しBindingFlags.Instance または BindingFlags.Static指定して、これを GetField メソッド使用します

使用例使用例

クラスフィールドパブリックかまたはプライベートかを示す値を返す例を次に示します

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
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;
    }
}
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;
}

import System.*;
import System.Reflection.*;

// Make two fields.
public class MyFielda
{
    // private
    private String someField = "private
 field";

    /** @property 
     */
    public String get_Field()
    {
        return someField;
    } //get_Field
} //MyFielda

public class MyFieldb
{
    // public
    public String someField = "public
 field";

    /** @property 
     */
    public String get_Field()
    {
        return someField;
    } //get_Field
} //MyFieldb

public class MyFieldInfo
{
    public static void main(String[]
 args)
    {
        Console.WriteLine("\nReflection.FieldInfo");
        MyFielda myFielda = new MyFielda();
        MyFieldb myFieldb = new MyFieldb();

        // Get the Type and FieldInfo.
        Type myTypea = Type.GetType("MyFielda");
        FieldInfo myFieldInfoa = myTypea.GetField("someField", 
            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.get_FullName());
        Console.Write("{0} - ", myFieldInfoa.get_Name());
        Console.Write("{0}", myFielda.get_Field());
        Console.Write("\n   IsPublic = {0}", 
            System.Convert.ToString(myFieldInfoa.get_IsPublic()));
        Console.Write("\n   IsPrivate = {0}", 
            System.Convert.ToString(myFieldInfoa.get_IsPrivate()));
        Console.Write("\n{0}.", myTypeb.get_FullName());
        Console.Write("{0} - ", myFieldInfob.get_Name());
        Console.Write("{0};", myFieldb.get_Field());
        Console.Write("\n   IsPublic = {0}", 
            System.Convert.ToString(myFieldInfob.get_IsPublic()));
        Console.Write("\n   IsPrivate = {0}", 
            System.Convert.ToString(myFieldInfob.get_IsPrivate()));
    } //main
} //MyFieldInfo
import System;
import System.Reflection;

// Make two fields.

// Make a private field.
public class Myfielda
{
    private var field : String = "private
 field";
    public function get
 Field() : String {
        return field;
    }
 }
// Make a public field.
 public class Myfieldb
 {
    public var field : String = "public
 field";
    public function get
 Field() : String {
        return field;
    }
 }
 
 public class Myfieldinfo
 {
    public static function
 Main(): void
    {
       Console.WriteLine("\nReflection.FieldInfo");
       var myfielda : Myfielda = new Myfielda();
       var myfieldb : Myfieldb = new Myfieldb();
  
       //Get the Type and FieldInfo.
       var MyTypea : Type = Type.GetType("Myfielda");
       var Myfieldinfoa : FieldInfo = MyTypea.GetField("field",
 BindingFlags.Instance|BindingFlags.NonPublic);
       var MyTypeb : Type = Type.GetType("Myfieldb");
       var Myfieldinfob : FieldInfo = MyTypeb.GetField("field");
  
       //Get and Display the IsPublic and IsPrivate.
       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);
    }
 }
 Myfieldinfo.Main();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
FieldInfo クラス
FieldInfo メンバ
System.Reflection 名前空間
FieldAttributes 列挙
BindingFlags 列挙

_FieldInfo.IsPublic プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

COM オブジェクトに、IsPublic プロパティへのバージョン依存しないアクセス用意されています。

このプロパティは、CLS準拠していません。  

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Dim instance As _FieldInfo
Dim value As Boolean

value = instance.IsPublic
bool IsPublic { get; }
property bool IsPublic {
    bool get ();
}
/** @property */
boolean get_IsPublic ()

プロパティ
フィールドパブリック場合trueそれ以外場合false

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
_FieldInfo インターフェイス
_FieldInfo メンバ
System.Runtime.InteropServices 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

_FieldInfo.IsPublicのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



_FieldInfo.IsPublicのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS