다음을 통해 공유


Binder.ChangeType 메서드

지정된 Object의 형식을 Type으로 변경합니다.

네임스페이스: System.Reflection
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public MustOverride Function ChangeType ( _
    value As Object, _
    type As Type, _
    culture As CultureInfo _
) As Object
‘사용 방법
Dim instance As Binder
Dim value As Object
Dim type As Type
Dim culture As CultureInfo
Dim returnValue As Object

returnValue = instance.ChangeType(value, type, culture)
public abstract Object ChangeType (
    Object value,
    Type type,
    CultureInfo culture
)
public:
virtual Object^ ChangeType (
    Object^ value, 
    Type^ type, 
    CultureInfo^ culture
) abstract
public abstract Object ChangeType (
    Object value, 
    Type type, 
    CultureInfo culture
)
public abstract function ChangeType (
    value : Object, 
    type : Type, 
    culture : CultureInfo
) : Object

매개 변수

  • value
    Type으로 변경할 값입니다.
  • type
    형식이 변경될 value의 새 Type입니다.
  • culture
    데이터 형식의 강제 사용을 제어하는 데 사용되는 CultureInfo의 인스턴스입니다. culture가 Null 참조(Visual Basic의 경우 Nothing)이면 현재 스레드의 CultureInfo가 사용됩니다.

    참고

    예를 들어, 1000은 각 culture마다 다르게 표현되므로 1000을 나타내는 StringDouble 값으로 변환하기 위해 이 매개 변수가 필요합니다.

반환 값

지정된 값이 새 형식으로 포함하는 Object입니다.

설명

리플렉션은 공용 형식 시스템의 액세스 가능성 규칙을 모델링합니다. 예를 들어, 같은 어셈블리에 있는 호출자는 내부 멤버에 대해 특별한 권한이 필요하지 않습니다. 그렇지 않은 경우에는 호출자에 ReflectionPermission이 있어야 합니다. 이는 보호된 멤버, 전용 멤버 등을 조회할 때도 마찬가지입니다.

일반적인 원칙은 ChangeType에서 데이터 손실이 없는 확장 강제 변환을 수행해야 한다는 것입니다. 확장 강제 변환의 예로는 32비트 부호 있는 정수 값을 64비트 부호 있는 정수 값으로 변환하는 것을 들 수 있습니다. 확장 강제 변환은 데이터가 손상될 수 있는 축소 변환과 구분됩니다. 축소 변환의 예로는 64비트 부호 있는 정수를 32비트 부호 있는 정수로 변환하는 것을 들 수 있습니다.

다음 표에는 기본 ChangeType에서 수행된 변환이 나열되어 있습니다.

소스 형식

대상 형식

모든 형식

기본 형식

모든 형식

해당 형식이 구현하는 인터페이스입니다.

Char

UInt16, UInt32, Int32, UInt64, Int64, Single, Double

Byte

Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double

SByte

Int16, Int32, Int64, Single, Double

UInt16

UInt32, Int32, UInt64, Int64, Single, Double

Int16

Int32, Int64, Single, Double

UInt32

UInt64, Int64, Single, Double

Int32

Int64, Single, Double

UInt64

Single, Double

Int64

Single, Double

Single

Double

비참조 형식

참조 형식

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Binder 클래스
Binder 멤버
System.Reflection 네임스페이스