Table of Contents

Class ValueSourceTypeConverter

Namespace
Acuit.Pinpoint.Workflows
Assembly
Acuit.Pinpoint.Workflows.dll

A type converter for converting strings to ValueSource or ValueSource<T>.

public class ValueSourceTypeConverter : TypeConverter
Inheritance
ValueSourceTypeConverter
Inherited Members

Remarks

This type converter only supports converting from string, for use by the XAML parser.

The text can either be a literal value or an expression surrounded by square brackets ([, ]). To specify a literal value that starts with [ but that is not an expression, prefix the value with %. For example, for a literal string value of "[literal]", use %[literal].

To specify a constant null value, do not use "{x:Null}", which will set the ValueSource or ValueSource<T> property itself to null. Instead, use "[null]"; the type converter will optimize the result for the property type.

For ValueSource<T> types, this type converter requires context to be provided to CanConvertFrom(ITypeDescriptorContext?, Type), with a IProvideValueTarget service available that provides a PropertyInfo value via TargetProperty. When loading workflows from XAML, this is automatically provided.

If the context provided to the type converter via CanConvertFrom(ITypeDescriptorContext?, Type) is a WorkflowXamlSchemaContext that has an IExpressionEnvironment available via its ExpressionEnvironment property, then any C# expression will be compiled as part of the conversion. Otherwise, they will be created without compilation and will compile on first reference when the workflow executes.

Constructors

ValueSourceTypeConverter()

public ValueSourceTypeConverter()

Methods

CanConvertFrom(ITypeDescriptorContext?, Type)

Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.

public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)

Parameters

context ITypeDescriptorContext

An ITypeDescriptorContext that provides a format context.

sourceType Type

A Type that represents the type you want to convert from.

Returns

bool

true if this converter can perform the conversion; otherwise, false.

ConvertFrom(ITypeDescriptorContext?, CultureInfo?, object)

Converts the given object to the type of this converter, using the specified context and culture information.

public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value)

Parameters

context ITypeDescriptorContext

An ITypeDescriptorContext that provides a format context.

culture CultureInfo

The CultureInfo to use as the current culture.

value object

The object to convert.

Returns

object

An object that represents the converted value.

Exceptions

NotSupportedException

The conversion cannot be performed.