Binder.ChangeType(Object, Type, CultureInfo) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 Object
의 형식을 Type
으로 변경합니다.
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
형식이 변경될 value
의 새 Type
입니다.
- culture
- CultureInfo
데이터 형식의 강제 변환을 제어하는 데 사용되는 CultureInfo의 인스턴스입니다. culture
가 null
이면 현재 스레드의 CultureInfo가 사용됩니다.
반환
지정된 값을 새 형식으로 포함하는 개체입니다.
설명
리플렉션은 공통 형식 시스템의 접근성 규칙을 모델링합니다. 예를 들어 호출자가 동일한 어셈블리에 있는 경우 호출자는 내부 멤버에 대한 특별한 권한이 필요하지 않습니다. 그렇지 않으면 호출자에게 가 필요합니다 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 |
비 참조 | 참조 기준입니다. |
바인더 구현에서 문자열 값을 숫자 형식 culture
으로 강제 변환할 수 있는 경우 매개 변수는 1000을 나타내는 문자열을 값으로 변환해야 합니다 Double . 1000은 서로 다른 문화권에 의해 다르게 표현되기 때문입니다. 기본 바인더는 이러한 문자열 강제 변환을 수행하지 않습니다.
적용 대상
.NET