TypeConverterIsValid Method

Returns whether the given value object is valid for this type and for the specified context.

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

public virtual bool IsValid(
	ITypeDescriptorContext context,
	object value
virtual bool IsValid(
	ITypeDescriptorContext^ context,
	Object^ value
abstract IsValid : 
        context:ITypeDescriptorContext *
        value:Object -> bool
override IsValid : 
        context:ITypeDescriptorContext *
        value:Object -> bool
Public Overridable Function IsValid (
	context As ITypeDescriptorContext,
	value As Object
) As Boolean



An ITypeDescriptorContext that provides a format context.


The Object to test for validity.

Return Value


true if the specified value is valid for this object; otherwise, false.


Use the context parameter to extract additional information about the environment from which this converter is invoked. This parameter can be null, so always check it. Also, properties on the context object can return null.

Starting in .NET Framework 4, the IsValid method catches exceptions from the CanConvertFrom and ConvertFrom methods. If the input value type causes CanConvertFrom to return false, or if the input value causes ConvertFrom to raise an exception, the IsValid method returns false.

To enable the legacy behavior, insert the following lines into the configuration file of the application, for example, application1.exe.config.

    <add key="UseCompatibleTypeConverterBehavior" value="true" />

Notes to Inheritors:

Override this method if the type you want to convert supports standard values that can be validated.

The IsValid method is used to validate a value within the type rather than to determine if value can be converted to the given type. For example, IsValid can be used to determine if a given value is valid for an enumeration type. For an example, see EnumConverter.


For an example of this function, see the TypeConverter class.

Version Information
.NET Framework
Available since 1.1
Return to top