Postupy: Získání informací o typu a členu pomocí reflexe
Obor System.Reflection názvů obsahuje mnoho metod pro získání informací o typech a jejich členech. Tento článek ukazuje jednu z těchto metod, Type.GetMembers. Další informace najdete v tématu Reflexe ion – přehled.
Příklad
Následující příklad získá informace o typu a členu pomocí reflexe:
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
Viz také
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.