다음을 통해 공유


리플렉션(Visual Basic)

리플렉션은 어셈블리, 모듈 및 형식을 설명하는 개체(형식 Type)를 제공합니다. 리플렉션을 사용하여 형식의 인스턴스를 동적으로 만들거나, 형식을 기존 개체에 바인딩하거나, 기존 개체에서 형식을 가져와 해당 메서드를 호출하거나 해당 필드 및 속성에 액세스할 수 있습니다. 코드에서 특성을 사용하는 경우 리플렉션을 통해 특성에 액세스할 수 있습니다. 자세한 내용은 특성참조하세요.

다음은 기본 클래스의 모든 형식에서 GetType 상속된 정적 메서드 Object 를 사용하여 변수 형식을 가져오는 간단한 리플렉션 예제입니다.

' Using GetType to obtain type information:  
Dim i As Integer = 42  
Dim type As System.Type = i.GetType()  
System.Console.WriteLine(type)  

결과는 다음과 같습니다.

System.Int32

다음 예제에서는 리플렉션을 사용하여 로드된 어셈블리의 전체 이름을 가져옵니다.

' Using Reflection to get information from an Assembly:  
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly  
System.Console.WriteLine(info)  

결과는 다음과 같습니다.

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

리플렉션 개요

리플렉션은 다음과 같은 경우에 유용합니다.

  • 프로그램 메타데이터의 특성에 액세스해야 하는 경우 자세한 내용은 특성에 저장된 정보 검색 을 참조하세요.

  • 어셈블리에서 형식을 검사하고 인스턴스화하는 경우

  • 런타임에 새 형식을 빌드하는 경우 System.Reflection.Emit클래스를 사용합니다.

  • 런타임에 생성된 형식의 메서드에 액세스하여 지연 바인딩을 수행합니다. 동적으로 형식 로드 및 사용 항목을 참조하세요.

자세한 내용을 원하시면:

참고하십시오