Skip to content

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

Func<object?, object?, object?[]?, (bool ShouldEmit, object? Value)> CreateSetThenGet(Expression viewExpression, Func<object?, object?[]?, object?> getter, Action<object?, object?, object?[]?> setter, Func<Type?, Type?, Func<object?, object?, object?[]?, object?>?> getSetConverter)

Summary: Creates the set-then-get function for property binding.

Parameters

NameTypeDescription
viewExpressionExpressionThe view expression.
getterFuncThe compiled getter.
setterActionThe compiled setter.
getSetConverterFunc?>Optional set-method converter resolver.

Returns: Func -- A delegate that sets a value and returns whether it should be emitted. The tuple contains a boolean indicating if the value should be emitted and the actual value.

Remarks

        The set-then-get pattern is used to detect if a property setter modifies the value
        being set (e.g., coercion, validation). The returned delegate will set the value,
        then get it back to detect changes.