HOW TO:從組件中取得型別和成員資訊
更新:2007 年 11 月
System.Reflection 命名空間內含許多方法,可從組件中取得資訊。本節將展示其中一種方法。如需其他詳細資訊,請參閱反映概觀。
下列範例從組件取得型別和成員資訊。
範例
Imports System
Imports System.Reflection
Class Asminfo1
'Entry point, which delegates to C-style main Private Function.
Public Overloads Shared Sub Main()
Main(System.Environment.GetCommandLineArgs())
End Sub
Overloads Public Shared Sub Main(args() As String)
Console.WriteLine(ControlChars.Cr + "Reflection.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(ControlChars.Cr + "There are {0} documentable members in ", Mymemberinfoarray.Length)
Console.Write("{0}.", MyType.FullName)
Dim Mymemberinfo As MemberInfo
For Each Mymemberinfo In Mymemberinfoarray
Console.Write((ControlChars.Cr + Mymemberinfo.Name))
Next Mymemberinfo
End Sub 'Main
End Class 'Asminfo1
using System;
using System.Reflection;
class Asminfo1
{
public static void Main(string[] args)
{
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 {0} documentable members in ", Mymemberinfoarray.Length);
Console.Write("{0}.", MyType.FullName);
foreach (MemberInfo Mymemberinfo in Mymemberinfoarray)
{
Console.Write("\n" + Mymemberinfo.Name);
}
}
}