Vorgehensweise: Abrufen von Typ- und Memberinformationen mithilfe von Reflektion
Der System.Reflection-Namespace enthält viele Methoden zum Abrufen von Informationen zu Typen und deren Membern. In diesem Artikel wird eine dieser Methoden, nämlich Type.GetMembers, veranschaulicht. Weitere Informationen finden Sie unter Übersicht über Reflektion.
Beispiel
In folgendem Beispiel werden mithilfe von Reflektion Typ- und Memberinformationen aus einer Assembly abgerufen:
using namespace System;
using namespace System::Reflection;
ref class Asminfo1
{
public:
static void Main()
{
Console::WriteLine ("\nReflection.MemberInfo");
// Get the Type and MemberInfo.
// Insert the fully qualified class name inside the quotation marks in the
// following statement.
Type^ MyType = Type::GetType("System.IO.BinaryReader");
array<MemberInfo^>^ Mymemberinfoarray = MyType->GetMembers(BindingFlags::Public |
BindingFlags::NonPublic | BindingFlags::Static |
BindingFlags::Instance | BindingFlags::DeclaredOnly);
// Get and display the DeclaringType method.
Console::Write($"\nThere are {Mymemberinfoarray->Length} documentable members in ");
Console::Write($"{MyType->FullName}.");
for each (MemberInfo^ Mymemberinfo in Mymemberinfoarray)
{
Console::Write("\n" + Mymemberinfo->Name);
}
}
};
int main()
{
Asminfo1::Main();
}
using System;
using System.Reflection;
class Asminfo1
{
public static void Main()
{
Console.WriteLine ("\nReflection.MemberInfo");
// Get the Type and MemberInfo.
// Insert the fully qualified class name inside the quotation marks in the
// following statement.
Type MyType = Type.GetType("System.IO.BinaryReader");
MemberInfo[] Mymemberinfoarray = MyType.GetMembers(BindingFlags.Public |
BindingFlags.NonPublic | BindingFlags.Static |
BindingFlags.Instance | BindingFlags.DeclaredOnly);
// Get and display the DeclaringType method.
Console.Write($"\nThere are {Mymemberinfoarray.Length} documentable members in ");
Console.Write($"{MyType.FullName}.");
foreach (MemberInfo Mymemberinfo in Mymemberinfoarray)
{
Console.Write("\n" + Mymemberinfo.Name);
}
}
}
Imports System.Reflection
Class Asminfo1
Public Shared Sub Main()
Console.WriteLine("\nReflection.MemberInfo")
' Get the Type and MemberInfo.
' Insert the fully qualified class name inside the quotation marks in the
' following statement.
Dim MyType As Type = Type.GetType("System.IO.BinaryReader")
Dim Mymemberinfoarray() As MemberInfo = MyType.GetMembers(BindingFlags.Public Or
BindingFlags.NonPublic Or BindingFlags.Static Or
BindingFlags.Instance Or BindingFlags.DeclaredOnly)
' Get and display the DeclaringType method.
Console.Write($"\nThere are {Mymemberinfoarray.Length} documentable members in ")
Console.Write($"{MyType.FullName}.")
For Each Mymemberinfo As MemberInfo in Mymemberinfoarray
Console.Write("\n" + Mymemberinfo.Name)
Next
End Sub
End Class
Weitere Informationen
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.