TypeConverter.IsValid Method

Definition

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

Overloads

IsValid(ITypeDescriptorContext, Object)

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

IsValid(Object)

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

IsValid(ITypeDescriptorContext, Object)

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

public:
 virtual bool IsValid(System::ComponentModel::ITypeDescriptorContext ^ context, System::Object ^ value);
public virtual bool IsValid (System.ComponentModel.ITypeDescriptorContext context, object value);
public virtual bool IsValid (System.ComponentModel.ITypeDescriptorContext? context, object? value);
abstract member IsValid : System.ComponentModel.ITypeDescriptorContext * obj -> bool
override this.IsValid : System.ComponentModel.ITypeDescriptorContext * obj -> bool
Public Overridable Function IsValid (context As ITypeDescriptorContext, value As Object) As Boolean

Parameters

context
ITypeDescriptorContext

An ITypeDescriptorContext that provides a format context.

value
Object

The Object to test for validity.

Returns

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

Examples

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

Remarks

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 your .NET Framework application.

<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(ITypeDescriptorContext, Object) 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(ITypeDescriptorContext, Object) can be used to determine if a given value is valid for an enumeration type. For an example, see EnumConverter.

See also

Applies to

IsValid(Object)

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

public:
 bool IsValid(System::Object ^ value);
public bool IsValid (object value);
member this.IsValid : obj -> bool
Public Function IsValid (value As Object) As Boolean

Parameters

value
Object

The object to test for validity.

Returns

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

Remarks

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 your .NET Framework application.

<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(Object) 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(Object) can be used to determine if a given value is valid for an enumeration type. For an example, see EnumConverter.

You can write your own WillConvertSucceed method by wrapping the ConvertTo and ConvertFrom methods in exception blocks.

See also

Applies to