Convert.ChangeType Method (Object, Type, IFormatProvider)

Returns an object of the specified type whose value is equivalent to the specified object. A parameter supplies culture-specific formatting information.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)


Public Shared Function ChangeType ( _
    value As Object, _
    conversionType As Type, _
    provider As IFormatProvider _
) As Object
public static Object ChangeType(
    Object value,
    Type conversionType,
    IFormatProvider provider


  • conversionType
    Type: System.Type
    The type of object to return.

Return Value

Type: System.Object
An object whose type is conversionType and whose value is equivalent to value.
value, if the type of value and conversionType are equal.
A null reference (Nothing in Visual Basic), if value is nulla null reference (Nothing in Visual Basic) and conversionType is not a value type.


Exception Condition

This conversion is not supported.


value is nulla null reference (Nothing in Visual Basic), and conversionType is a value type.


value does not implement the IConvertible interface.


value is not in a format for conversionType recognized by provider.


value represents a number that is out of the range of conversionType.


conversionType is nulla null reference (Nothing in Visual Basic).


ChangeType is a general-purpose conversion method that converts the object specified by value to conversionType. The value parameter can be an object of any type, and conversionType can also be a Type object that represents any base or custom type. For the conversion to succeed, value must implement the IConvertible interface, because the method simply wraps a call to an appropriate IConvertible method. The method requires that conversion of value to conversionType be supported.

provider enables the user to specify culture-specific conversion information about the contents of value. For example, if value is a String that represents a number, provider could supply culture-specific information about the notation used to represent that number.


The following example defines a Temperature class that implements the IConvertible interface.

The following example creates an instance of the Temperature class and calls the ChangeType(Object, Type, IFormatProvider) method to convert it to the basic numeric types supported by the .NET Framework and to a String. It illustrates that the ChangeType method wraps a call to the source type's IConvertible implementation.

Version Information


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.