TypeConverter::IsValid Method (ITypeDescriptorContext, Object)

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
)

Parameters

context
Type: System.ComponentModel::ITypeDescriptorContext

An ITypeDescriptorContext that provides a format context.

value
Type: System::Object

The Object to test for validity.

Return Value

Type: System::Boolean
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 nullptr, so always check it. Also, properties on the context object can return nullptr.

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.

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

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.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft