ValueExpressionParserTUpdateExpressionsTExpressionScope(IEnumerablePropertyInfo, TypeRegistry) Method

Generates a delegate that will execute expression assignments on an instance of type T accepting a contextual IValueExpressionScopeT object parameter where expressions are TypeConvertedValueExpressionAttribute instances that are declared on the type T properties. Target T instance needs to be assigned to the Instance property prior to call.

Definition

Namespace: Gemstone.Expressions.Model
Assembly: Gemstone.Expressions (in Gemstone.Expressions.dll) Version: 1.0.128 -- Release Build+cfed08c7efcabf54b006110ecd862a6bfcb7b819
public static Action<TExpressionScope> UpdateExpressions<TExpressionScope>(
	IEnumerable<PropertyInfo>? properties = null,
	TypeRegistry? typeRegistry = null
)
where TExpressionScope : Object, IValueExpressionScope<T>

Parameters

properties  IEnumerablePropertyInfo  (Optional)
Specific properties to target, or null to target all properties.
typeRegistry  TypeRegistry  (Optional)
Type registry to use when parsing TypeConvertedValueExpressionAttribute instances, or null to use DefaultTypeRegistry.

Type Parameters

TExpressionScope
IValueExpressionScopeT parameter type.

Return Value

ActionTExpressionScope
Generated delegate that will execute expression assignments on T instances.

Remarks

This function is useful for generating a delegate to a compiled function that will execute expression assignments on objects of type T where properties of the type of have been decorated with TypeConvertedValueExpressionAttribute attributes. The generated delegate takes a parameter to a contextual object useful for providing extra runtime data to the expressions defined in attributes of type TypeConvertedValueExpressionAttribute; the contextual parameter must be derived from IValueExpressionScopeT. Any public fields, methods or properties defined in the derived class will be automatically accessible from the expressions declared in the TypeConvertedValueExpressionAttribute attributes. By default, the expressions will have access to the current T instance by referencing the this keyword, which is an alias to Instance. Note that the expression in the TypeConvertedValueExpressionAttribute attribute is expected to evaluate to a property such that it can be assigned the target type T property value.

  Note

This function will assign current modeled property values back to expressions, this is often useful when a model is being synchronized to an external source, e.g., user interface elements.

See Also