次の方法で共有


Type.GetMembers メソッド

現在の Type のメンバ (プロパティ、メソッド、フィールド、イベントなど) を取得します。

オーバーロードの一覧

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

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function GetMembers() As MemberInfo()

[C#] public MemberInfo[] GetMembers();

[C++] public: MemberInfo* GetMembers() [];

[JScript] public function GetMembers() : MemberInfo[];

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

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public MustOverride Function GetMembers(BindingFlags) As MemberInfo() Implements IReflect.GetMembers

[C#] public abstract MemberInfo[] GetMembers(BindingFlags);

[C++] public: virtual MemberInfo* GetMembers(BindingFlags) [] = 0;

[JScript] public abstract function GetMembers(BindingFlags) : MemberInfo[];

使用例

[Visual Basic, C#, C++] メモ   ここでは、GetMembers のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
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

[C#] 

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


[C++] 

__gc class MyClass {
public:
    int*  myInt;
    String* myString;
    MyClass() {
    }
    void Myfunction() {
    }
};

int 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(static_cast<BindingFlags>(BindingFlags::Public|BindingFlags::Instance));

        Console::WriteLine(S"\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(S"'{0}' is a {1}", myMemberInfo[i]->Name,__box( myMemberInfo[i]->MemberType));
        }

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

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

Type クラス | Type メンバ | System 名前空間