Type.GetMembers メソッド ()とは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Type.GetMembers メソッド ()の意味・解説 

Type.GetMembers メソッド ()

現在の Typeすべてのパブリック メンバ返します

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

Public Function GetMembers As
 MemberInfo()
Dim instance As Type
Dim returnValue As MemberInfo()

returnValue = instance.GetMembers
public MemberInfo[] GetMembers ()
public:
virtual array<MemberInfo^>^ GetMembers () sealed
public final MemberInfo[] GetMembers ()
public final function GetMembers () : MemberInfo[]

戻り値
現在の Typeすべてのパブリック メンバを表す MemberInfo オブジェクト配列。 または 現在の Typeパブリック メンバ存在しない場合は、MemberInfo 型の空の配列

解説解説

メンバには、プロパティメソッドフィールドイベントなどあります

このメソッド オーバーロードは、BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static (Visual Basic の場合BindingFlags.PublicOrBindingFlags.InstanceOrBindingFlags.Static) を使用して GetMembers(BindingFlags) メソッド オーバーロード呼び出します。このメソッド オーバーロードクラス初期化子 (.cctor) を見つけません。クラス初期化子を見つけるには、BindingFlags をとるオーバーロード使用しBindingFlags.Static | BindingFlags.NonPublic (Visual Basic の場合BindingFlags.StaticOrBindingFlags.NonPublic) を指定します。TypeInitializer プロパティ使用してクラス初期化子取得することもできます

型に対すリフレクション時に Get メソッドによって返される基本クラスメンバ次の表に示します

  1. 名前と署名による隠ぺいでは、カスタム修飾子戻り値の型、パラメータの型、sentinel、およびアンマネージ呼び出し規約含めて署名すべての部分判断対象となります。これはバイナリ比較です。

  2. リフレクション場合プロパティおよびイベントは名前と署名によって隠ぺいされています。基本クラスget アクセサset アクセサ両方を持つプロパティがあり、派生クラスには get アクセサしかない場合派生クラスプロパティにより基本クラスプロパティ隠ぺいされ、基本クラスset アクセサにはアクセスできません。

  3. カスタム属性は、共通型システム一部ではありません。

現在の Type構築ジェネリック型表している場合、このメソッドは、型パラメータ適切な型の引数置き換えて MemberInfo オブジェクト返します

現在の Typeジェネリック型またはジェネリック メソッドの定義の型パラメータ表している場合、このメソッドクラス制約のメンバ検索しますクラス制約のメンバない場合は、Objectメンバ検索します

使用例使用例
Class [MyClass]
   Public myInt As Integer
 = 0
   Public myString As String
 = Nothing
   
   
   Public Sub New()
   End Sub 'New
   
   Public Sub Myfunction()
   End Sub 'Myfunction
End Class '[MyClass]

Class Type_GetMembers
   
   Public Shared Sub Main()
      Try
         Dim myObject As New
 [MyClass]()
         Dim myMemberInfo() As MemberInfo
         
         ' Get the type of 'MyClass'.
         Dim myType As Type = myObject.GetType()
         
         ' Get the information related to all public member's of 'MyClass'.
 
         myMemberInfo = myType.GetMembers()
         
         Console.WriteLine(ControlChars.Cr + "The members of
 class '{0}' are :" + ControlChars.Cr, myType)
         Dim i As Integer
         For i = 0 To myMemberInfo.Length -
 1
            ' Display name and type of the concerned member.
            Console.WriteLine("'{0}' is a {1}", myMemberInfo(i).Name,
 myMemberInfo(i).MemberType)
         Next i

      Catch e As SecurityException
         Console.WriteLine(("Exception : " + e.Message.ToString()))
      End Try
   End Sub 'Main
End Class 'Type_GetMembers
class MyClass
{
   public int myInt = 0;
   public string myString = null;

   public MyClass()
   {
   }
   public void Myfunction()
   {
   }
}

class Type_GetMembers
{
   public static void Main()
   {
      try
      {
         MyClass myObject = new MyClass();
         MemberInfo[] myMemberInfo; 

         // Get the type of 'MyClass'.
         Type myType = myObject.GetType(); 
        
         // Get the information related to all public member's of 'MyClass'.
 
         myMemberInfo = myType.GetMembers();
    
         Console.WriteLine( "\nThe members of class '{0}'
 are :\n", myType); 
         for (int i =0 ; i < myMemberInfo.Length
 ; i++)
         {
            // Display name and type of the concerned member.
            Console.WriteLine( "'{0}' is a {1}", myMemberInfo[i].Name,
 myMemberInfo[i].MemberType);
         }
      }
      catch(SecurityException e)
      {
         Console.WriteLine("Exception : " + e.Message ); 
      }
   }
}
ref class MyClass
{
public:
   int myInt;
   String^ myString;
   MyClass(){}

   void Myfunction(){}

};

int main()
{
   try
   {
      MyClass^ myObject = gcnew MyClass;
      array<MemberInfo^>^myMemberInfo;
      
      // Get the type of 'MyClass'.
      Type^ myType = myObject->GetType();
      
      // Get the information related to all public members of 'MyClass'.
      myMemberInfo = myType->GetMembers();
      Console::WriteLine( "\nThe members of class '{0}' are
 :\n", myType );
      for ( int i = 0; i < myMemberInfo->Length;
 i++ )
      {
         
         // Display name and type of the concerned member.
         Console::WriteLine( "'{0}' is a {1}", myMemberInfo[ i ]->Name,
 myMemberInfo[ i ]->MemberType );

      }
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "Exception : {0}", e->Message );
   }

}

class MyClass
{
    public int myInt = 0;
    public String myString = null;

    public MyClass()
    {
    } //MyClass

    public void Myfunction()
    {
    } //Myfunction
} //MyClass

class Type_GetMembers
{
    public static void main(String[]
 args)
    {
        try {
            MyClass myObject = new MyClass();
            MemberInfo myMemberInfo[];
            // Get the type of 'MyClass'.
            Type myType = myObject.GetType();
            // Get the information related to all public member's of
 'MyClass'.
            myMemberInfo = myType.GetMembers();

            Console.WriteLine("\nThe members of class '{0}'
 are :\n", myType);
            for (int i = 0; i < myMemberInfo.length;
 i++) {
                // Display name and type of the concerned member.
                Console.WriteLine("'{0}' is a {1}", myMemberInfo[i].get_Name()
,
                    myMemberInfo[i].get_MemberType());
            }
        }
        catch (SecurityException e) {
            Console.WriteLine("Exception : " + e.get_Message());
        }
    } //main
} //Type_GetMembers
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Type クラス
Type メンバ
System 名前空間
MemberInfo
GetMember
GetDefaultMembers
FindMembers

Type.GetMembers メソッド (BindingFlags)

派生クラスによってオーバーライドされた場合指定したバインディング制約使用して現在の Type に対して定義されているメンバ検索します

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

Public MustOverride Function
 GetMembers ( _
    bindingAttr As BindingFlags _
) As MemberInfo()
Dim instance As Type
Dim bindingAttr As BindingFlags
Dim returnValue As MemberInfo()

returnValue = instance.GetMembers(bindingAttr)
public abstract MemberInfo[] GetMembers (
    BindingFlags bindingAttr
)
public:
virtual array<MemberInfo^>^ GetMembers (
    BindingFlags bindingAttr
) abstract
public abstract MemberInfo[] GetMembers (
    BindingFlags bindingAttr
)
public abstract function GetMembers (
    bindingAttr : BindingFlags
) : MemberInfo[]

パラメータ

bindingAttr

検索実行方法指定する 1 つ上の BindingFlags から成るビット マスク

または

null 参照 (Visual Basic では Nothing) を返す 0。

戻り値
現在の Type に対して定義されているメンバのうち、指定したバインディング制約一致するすべてのメンバを表す MemberInfo オブジェクト配列。 または 現在の Type に対してメンバ定義されていないか、または定義されているメンバ中にバインディング制約一致するものが存在しない場合は、MemberInfo 型の空の配列

解説解説

メンバには、プロパティメソッドフィールドイベントなどあります

要求された型がパブリックではなく呼び出し元に現在のアセンブリ外の非パブリック オブジェクトリフレクションするための ReflectionPermission がない場合、このメソッドnull 参照 (Visual Basic では Nothing) を返します

次の BindingFlags フィルタ フラグは、検索対象含めメンバ定義するために使用できます

次の BindingFlags 修飾フラグは、検索方法変更するために使用できます

指定したメンバ返すには、Public フラグだけか、NonPublic フラグだけを指定してこのメソッド呼び出します。他のフラグ指定する要はありません。

詳細については、「System.Reflection.BindingFlags」を参照してください

このメソッド使用して初期化子 (.cctor) を取得するには、BindingFlags.Static | BindingFlags.NonPublic (Visual Basic の場合BindingFlags.StaticOrBindingFlags.NonPublic) を指定する必要があります。TypeInitializer プロパティ使用してクラス初期化子取得することもできます

現在の T:System.Type が構築ジェネリック型表している場合、このメソッドは、型パラメータ適切な型の引数置き換えて MemberInfo オブジェクト返します

現在の Typeジェネリック型またはジェネリック メソッドの定義の型パラメータ表している場合、このメソッドクラス制約のメンバ検索しますクラス制約のメンバない場合は、Objectメンバ検索します

使用例使用例
Class [MyClass]
   Public myInt As Integer
 = 0
   Public myString As String
 = Nothing
   
   
   Public Sub New()
   End Sub 'New
   
   Public Sub Myfunction()
   End Sub 'Myfunction
End Class '[MyClass]

Class Type_GetMembers_BindingFlags
   
   Public Shared Sub Main()
      Try
         Dim MyObject As New
 [MyClass]()
         Dim myMemberInfo() As MemberInfo
         
         ' Get the type of the class 'MyClass'.
         Dim myType As Type = MyObject.GetType()
         
         ' Get the public instance members of the class 'MyClass'. 
         myMemberInfo = myType.GetMembers((BindingFlags.Public Or
 BindingFlags.Instance))
         
         Console.WriteLine(ControlChars.Cr + "The public
 instance members of class '{0}'
 are : " + ControlChars.Cr, myType)
         Dim i As Integer
         For i = 0 To myMemberInfo.Length -
 1
            ' Display name and type of the member of 'MyClass'.
            Console.WriteLine("'{0}' is a {1}", myMemberInfo(i).Name,
 myMemberInfo(i).MemberType)
         Next i
      
      Catch e As SecurityException
         Console.WriteLine(("SecurityException : "
 + e.Message.ToString()))
      End Try
   End Sub 'Main 
End Class 'Type_GetMembers_BindingFlags
class MyClass
{
   public int myInt = 0;
   public string myString = null;

   public MyClass()
   {
   }
   public void Myfunction()
   {
   }
}

class Type_GetMembers_BindingFlags
{
   public static void Main()
   {
      try
      {
         MyClass MyObject = new MyClass();
         MemberInfo [] myMemberInfo; 

         // Get the type of the class 'MyClass'.
         Type myType = MyObject.GetType(); 
        
         // Get the public instance members of the class 'MyClass'.
 
         myMemberInfo = myType.GetMembers(BindingFlags.Public|BindingFlags.Instance);
    
         Console.WriteLine( "\nThe public instance members
 of class '{0}' are : \n", myType); 
         for (int i =0 ; i < myMemberInfo.Length
 ; i++)
         {
            // Display name and type of the member of 'MyClass'.
            Console.WriteLine( "'{0}' is a {1}", myMemberInfo[i].Name,
 myMemberInfo[i].MemberType);
         }

      }
      catch (SecurityException e)
      {
         Console.WriteLine("SecurityException : " + e.Message ); 
      }      
   }
}

ref class MyClass
{
public:
   int * myInt;
   String^ myString;
   MyClass(){}

   void Myfunction(){}

};

int main()
{
   try
   {
      MyClass^ MyObject = gcnew MyClass;
      array<MemberInfo^>^myMemberInfo;
      
      // Get the type of the class 'MyClass'.
      Type^ myType = MyObject->GetType();
      
      // Get the public instance members of the class 'MyClass'.
      myMemberInfo = myType->GetMembers( static_cast<BindingFlags>(BindingFlags::Public
 | BindingFlags::Instance) );
      Console::WriteLine( "\nThe public instance members
 of class '{0}' are : \n", myType );
      for ( int i = 0; i < myMemberInfo->Length;
 i++ )
      {
         
         // Display name and type of the member of 'MyClass'.
         Console::WriteLine( "'{0}' is a {1}", myMemberInfo[ i ]->Name,
 myMemberInfo[ i ]->MemberType );

      }
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "SecurityException : {0}", e->Message );
   }

}

class MyClass
{
    public int myInt = 0;
    public String myString = null;

    public MyClass()
    {
    } //MyClass

    public void Myfunction()
    {
    } //Myfunction
} //MyClass

class Type_GetMembers_BindingFlags
{
    public static void main(String[]
 args)
    {
        try {
            MyClass MyObject = new MyClass();
            MemberInfo myMemberInfo[];
            // Get the type of the class 'MyClass'.
            Type myType = MyObject.GetType();
            // Get the public instance members of the class 'MyClass'.
 
            myMemberInfo = myType.GetMembers(BindingFlags.Public
                | BindingFlags.Instance);

            Console.WriteLine("\nThe public instance members
 of class"
                + " '{0}' are : \n", myType);
            for (int i = 0; i < myMemberInfo.length;
 i++) {
                // Display name and type of the member of 'MyClass'.
                Console.WriteLine("'{0}' is a {1}", myMemberInfo[i].get_Name()
,
                    myMemberInfo[i].get_MemberType());
            }
        }
        catch (SecurityException e) {
            Console.WriteLine("SecurityException : " + e.get_Message());
        }
    } //main
} //Type_GetMembers_BindingFlags
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Type クラス
Type メンバ
System 名前空間
MemberInfo
BindingFlags
DefaultBinder
ReflectionPermission
GetMember
GetDefaultMembers
FindMembers

Type.GetMembers メソッド


_Type.GetMembers メソッド

COM オブジェクトに、System.Type.GetMembers メソッドへのバージョン依存しないアクセス用意されています。
オーバーロードの一覧オーバーロードの一覧

名前 説明
_Type.GetMembers () COM オブジェクトに、Type.GetMembers メソッドへのバージョン依存しないアクセス用意されています。
_Type.GetMembers (BindingFlags) COM オブジェクトに、Type.GetMembers メソッドへのバージョン依存しないアクセス用意されています。
参照参照

関連項目

_Type インターフェイス
_Type メンバ
System.Runtime.InteropServices 名前空間



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

辞書ショートカット

すべての辞書の索引

「Type.GetMembers メソッド ()」の関連用語

Type.GetMembers メソッド ()のお隣キーワード
検索ランキング

   

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



Type.GetMembers メソッド ()のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS