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


지정된 Object의 형식을 Type으로 변경합니다.Changes the type of the given Object to the given Type.

 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);
abstract member ChangeType : obj * Type * System.Globalization.CultureInfo -> obj

매개 변수


Type으로 변경할 원본 개체입니다.The object to change into a new Type.


형식이 변경될 Type의 새 value입니다.The new Type that value will become.


데이터 형식의 강제 변환을 제어하는 데 사용되는 CultureInfo의 인스턴스입니다.An instance of CultureInfo that is used to control the coercion of data types. culturenull이면 현재 스레드의 CultureInfo가 사용됩니다.If culture is null, the CultureInfo for the current thread is used.

참고 예를 들어, 1000은 문화권마다 다르게 표현되므로 1000을 나타내는 StringDouble 값으로 변환하려면 이 매개 변수가 필요합니다.Note For example, this parameter is necessary to convert a String that represents 1000 to a Double value, because 1000 is represented differently by different cultures.


지정된 값을 새 형식으로 포함하는 개체입니다.An object that contains the given value as the new type.


리플렉션 공용 형식 시스템의 액세스 가능성 규칙을 모델링합니다.Reflection models the accessibility rules of the common type system. 예를 들어 호출자에 게 동일한 어셈블리의 경우 호출자에 게 필요가 없습니다 특별 한 권한이 내부 멤버에 대 한 합니다.For example, if the caller is in the same assembly, the caller does not need special permissions for internal members. 그렇지 않으면 호출자에 게 ReflectionPermission필요 합니다.Otherwise, the caller needs ReflectionPermission. 이것이, 보호 되는 멤버 조회를 사용 하 여 일관 된, private 및 등입니다.This is consistent with lookup of members that are protected, private, and so on.

일반적으로 ChangeType는 데이터가 손실 되지 않는 확대 강제 변환만 수행 해야 합니다.The general principle is that ChangeType should perform only widening coercions, which never lose data. 확대 강제 변환의 예로 64 비트 부호 있는 정수 값을 32 비트 부호 있는 정수 값 강제 변환 됩니다.An example of a widening coercion is coercing a value that is a 32-bit signed integer to a value that is a 64-bit signed integer. 이 데이터가 손실 될 수 있는 축소 변환에서 구분 됩니다.This is distinguished from a narrowing coercion, which may lose data. 축소 변환의 예로 64 비트 부호 있는 정수는 32 비트 부호 있는 정수를 강제 변환 됩니다.An example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit signed integer.

다음 표에서는 기본 ChangeType에서 수행 하는 강제 변환을 보여 줍니다.The following table lists the coercions performed by the default ChangeType.

원본 유형Source type 대상 유형Target type
모든 형식Any type 해당 기본 형식입니다.Its base type.
모든 형식Any type 인터페이스를 구현 합니다.The interface it implements.
CharChar UInt16, UInt32, Int32, UInt64, Int64, Single, DoubleUInt16, UInt32, Int32, UInt64, Int64, Single, Double
ByteByte Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, DoubleChar, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByteSByte Int16, Int32, Int64, Single, DoubleInt16, Int32, Int64, Single, Double
UInt16UInt16 UInt32, Int32, UInt64, Int64, Single, DoubleUInt32, Int32, UInt64, Int64, Single, Double
Int16Int16 Int32, Int64, Single, DoubleInt32, Int64, Single, Double
UInt32UInt32 UInt64, Int64, Single, DoubleUInt64, Int64, Single, Double
Int32Int32 Int64, Single, DoubleInt64, Single, Double
UInt64UInt64 Single, DoubleSingle, Double
Int64Int64 Single, DoubleSingle, Double
SingleSingle DoubleDouble
비참조Non-reference 참조로 전달 합니다.By-reference.

적용 대상