ObjectExtensionsConvert Method (Object, Type, CultureInfo)

KGy SOFT Core Libraries Help
Converts an Object specified in the obj parameter to the desired targetType.
See the Examples section of the generic ConvertTTarget(Object, CultureInfo) overload for an example.

Namespace:  KGySoft.CoreLibraries
Assembly:  KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 6.0.0

public static Object? Convert(
	this Object? obj,
	Type targetType,
	CultureInfo culture = null


Type: SystemObject
The object to convert.
Type: SystemType
The desired type of the return value.
culture (Optional)
Type: System.GlobalizationCultureInfo
The culture to use for the conversion. If , then the InvariantCulture will be used. This parameter is optional.
Default value: .

Return Value

Type: Object
An object of targetType, which is the result of the conversion.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Object. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

ArgumentExceptionobj cannot be converted to targetType.

The method firstly tries to use registered direct conversions between source and target types, then attempts to perform the conversion via IConvertible types and registered TypeConverters. If these attempts fail, then the registered conversions tried to be used for intermediate steps, if possible. As an ultimate fallback, the String type is attempted to be used as intermediate conversion.

New conversions can be registered by the RegisterConversion extension methods.

Tip Tip
The registered conversions are tried to be used for intermediate conversion steps if possible. For example, if a conversion is registered from DateTime to Int64, then conversions from DateTime to Double becomes automatically available using the Int64 type as an intermediate conversion step.

targetType can be even a collection type if obj is also an IEnumerable implementation. The target collection type must have either a default constructor or a constructor that can accept a list, array or dictionary as an initializer collection.

See Also