다음을 통해 공유


방법: 어셈블리에서 형식 및 멤버 정보 가져오기

업데이트: 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);
          }
   }
}

참고 항목

개념

응용 프로그램 도메인으로 프로그래밍

리플렉션 개요

기타 리소스

공용 언어 런타임 호스팅

응용 프로그램 도메인 사용