Binder.ChangeType(Object, Type, CultureInfo) Binder.ChangeType(Object, Type, CultureInfo) Binder.ChangeType(Object, Type, CultureInfo) Method

정의

지정된 Object의 형식을 Type으로 변경합니다.Changes the type of the given Object to the given 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);
abstract member ChangeType : obj * Type * System.Globalization.CultureInfo -> obj

매개 변수

value
Object Object Object

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

type
Type Type Type

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

culture
CultureInfo CultureInfo CultureInfo

데이터 형식의 강제 변환을 제어하는 데 사용되는 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.

적용 대상