Binder.ChangeType(Object, Type, CultureInfo) 메서드

정의

지정된 형식을 지정된 ObjectType형식으로 변경합니다.

public:
 abstract System::Object ^ ChangeType(System::Object ^ value, Type ^ type, System::Globalization::CultureInfo ^ culture);
public abstract object ChangeType(object value, Type type, System.Globalization.CultureInfo? culture);
public abstract object ChangeType(object value, Type type, System.Globalization.CultureInfo culture);
abstract member ChangeType : obj * Type * System.Globalization.CultureInfo -> obj
Public MustOverride Function ChangeType (value As Object, type As Type, culture As CultureInfo) As Object

매개 변수

value
Object

Type개체로 변경할 개체입니다.

type
Type

될 새로운 Typevalue 것입니다.

culture
CultureInfo

해당 인스턴스는 데이터 형식의 CultureInfo 강제 변환을 제어하는 데 사용됩니다. 이 culturenull 경우 CultureInfo 현재 스레드에 대한 스레드가 사용됩니다.

반품

지정된 값을 새 형식으로 포함하는 개체입니다.

설명

리플렉션은 공통 형식 시스템의 접근성 규칙을 모델로 합니다. 예를 들어 호출자가 동일한 어셈블리에 있는 경우 호출자는 내부 멤버에 대한 특별한 권한이 필요하지 않습니다. 그렇지 않으면 호출자가 필요합니다 ReflectionPermission. 이는 보호, 비공개 등으로 보호되는 멤버의 조회와 일치합니다.

일반적인 원칙은 ChangeType 데이터를 잃지 않는 확대 강제 변환만 수행해야 한다는 것입니다. 확대 강제 변환의 예는 부속된 32비트 정수 값을 64비트 부가 정수 값으로 강제 변환하는 것입니다. 이는 데이터가 손실될 수 있는 축소된 강제 변환과 구별됩니다. 축소된 강제 변환의 예로 64비트 부가 정수는 부가된 32비트 정수로 강제 변환합니다.

다음 표에서는 기본적으로 ChangeType수행되는 강제 변환을 나열합니다.

원본 유형 대상 유형
모든 형식 기본 형식입니다.
모든 형식 구현하는 인터페이스입니다.
Char UInt16, UInt32, Int32, UInt64, Int64, Single, Double (정수 및 실수 데이터 형식)
Byte (바이트) Char(문자형), UInt16(부호 없는 16비트 정수형), Int16(16비트 정수형), UInt32(부호 없는 32비트 정수형), Int32(32비트 정수형), UInt64(부호 없는 64비트 정수형), Int64(64비트 정수형), Single(단정밀도 부동소수점), Double(배정밀도 부동소수점)
SByte Int16, Int32, Int64, Single, Double
UInt16 UInt32(길이가 32비트인 무부호 정수), Int32(길이가 32비트인 정수), UInt64(길이가 64비트인 무부호 정수), Int64(길이가 64비트인 정수), Single(단일 정밀도 부동 소수점), Double(이중 정밀도 부동 소수점)
Int16 데이터 타입 Int32, Int64, Single, Double
UInt32 데이터 타입: UInt64, Int64, Single, Double
Int32 인트64, 싱글, 더블
UInt64 싱글, 더블
Int64 싱글, 더블
Single Double
비 참조 참조 기준입니다.

바인더 구현에서 문자열 값을 숫자 형식 culture 으로 강제 변환할 수 있는 경우 매개 변수는 1000을 나타내는 문자열을 값으로 변환해야 합니다 Double . 1000은 다른 문화권에 의해 다르게 표현되기 때문입니다. 기본 바인더는 이러한 문자열 강제 변환을 수행하지 않습니다.

적용 대상