Поделиться через


Практическое руководство. Получение сведений о типах и членах из сборки

Обновлен: Ноябрь 2007

Пространство имен 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);
          }
   }
}

См. также

Основные понятия

Программирование с использованием доменов приложений

Общие сведения об отражении

Другие ресурсы

Размещение среды CLR

Использование доменов приложений